我在 RR 3 的服务器端渲染方面做了很多工作,所以我想看看它在 v4 的上下文中是如何工作的。我按照网站上的教程进行操作,但是由于现在渲染与路由匹配一起发生,因此无法像以前那样实现预取数据。
这是我过去使用 v3 进行服务器渲染的方式: https ://github.com/alexnm/react-seed/blob/master/server/index.js
基于 match 函数,我会调用所有组件树中的所有 prefetch 函数,然后等待Promise.all
它们完成,然后触发renderToString
函数并返回 html。
在 RR4 中,我们只有<ServerRouter>
组件,所以我提供的当前解决方案是复制渲染代码:
https://github.com/FortechRomania/react-redux-complete-example/blob/master/src/server/index。 js
我还使用标签render
上的功能<Match>
来触发预取操作。它很丑陋,并且在我想用预取数据呈现的页面的父组件中引入了各种依赖项。
我在这里想念什么?有没有人为这种情况找到更好的解决方案?我还没有发现任何有用的东西。