使用react-router v4进行服务器渲染并预取数据

时间:2017-01-22 08:25:48

标签: javascript reactjs react-router server-rendering

我在RR 3的服务器端渲染方面做了很多工作,所以我想看看它在v4的上下文中是如何工作的。我按照网站上的教程进行了操作,但由于渲染现在与路由匹配一起发生,因此无法像以前那样实现预取数据。

以下是我过去使用v3进行服务器渲染的方法: https://github.com/alexnm/react-seed/blob/master/server/index.js

基于匹配函数,我将调用所有组件树中的所有预取函数,然后等待Promise.all让它们完成,然后触发renderToString函数并返回html。

在RR4中,我们只有<ServerRouter>组件,因此我附带的当前解决方案是复制渲染代码: https://github.com/FortechRomania/react-redux-complete-example/blob/master/src/server/index.js

我还使用render标记上的<Match>函数来触发预取操作。它很难看,并在我想用预取数据呈现的页面的父组件中引入了各种依赖项。

我在这里缺少什么?有没有人为这种情况找到更好的解决方案?我还没有找到任何有用的东西。

1 个答案:

答案 0 :(得分:-1)