带有要在next.js中的getInitialProps中使用的后端数据的呈现页面

时间:2019-10-06 20:56:01

标签: javascript reactjs next.js server-side-rendering

我是next.js的新手。在next.js项目中,我需要实现的工作是连接到数据库,获取一些数据,使用express处理并在我的应用程序的客户端使用它。我将在快速路由处理程序中连接到DB。问题:是否可以将下载的数据传递到客户端(即传递到getInitialProps生命周期方法)而无需从fetch内部获取(使用for.ex。getInitialProps api),即。有没有办法让它已经准备好通过一些道具在客户端使用(没有经典的获取方法)?

1 个答案:

答案 0 :(得分:1)

您可以使用express来获取数据,其内容与此类似:

server.get('/your/route', async (req, res) => {
  // fetch your data
  let data = await fetch(....)
  return app.render(req, res, '/yourpage',data)
})

然后在getInitialProps中,您可以访问数据:

   static async getInitialProps (context) {
     let data = context.query;
     return {data}
   }