如何将数据从server.js传递到getInitialProps?

时间:2019-01-10 10:45:15

标签: javascript reactjs typescript

此问题专门与after.js

有关

我已成功将自定义数据传递到render函数中,但是它似乎仅在服务器渲染的挂载上工作(是正确的单词吗?),而在使用react-router的Link时却不起作用零件。相同的数据不再存在(undefined)。

这是我们server.tsx的摘录:

const html = await render({
  req,
  res,
  routes,
  assets,
  document: Document,
  customRenderer,

  // This "global data" needs to be used by our app
  globalData: cmsService.data,
});

这也是要解决/测试的棘手问题,因为after.js的current published version没有一个关键的修补程序-允许设置传递给getInitialProps的自定义数据,因此我必须使用我不想做的软件包的本地版本。有关更多信息,请参见此PR:https://github.com/jaredpalmer/after.js/pull/157

在页面组件中,我需要执行以下操作:

public static async getInitialProps({globalData}) {
  return {
    globalData,
  };
}

这将允许页面通过globalData访问this.props。 就像我在帖子顶部所说的那样,这在服务器渲染的页面上可以正常工作,而在客户端渲染的页面上却不能正常工作。我正在尝试自己解决此问题,但确实希望获得一些帮助,以了解要查找的位置。

0 个答案:

没有答案