【问题标题】:Server rendering with react-router v4 and prefetching data使用 react-router v4 进行服务器渲染并预取数据
【发布时间】:2017-06-06 22:16:35
【问题描述】:

我在使用 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

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

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

【问题讨论】:

  • 遇到了完全相同的问题:/目前还没有官方示例或任何教程如何做到这一点......你的解决方案是我找到的唯一一个 - 谢谢!
  • 我计划在接下来的几周内对此进行更多研究,如果我找到任何答案会回来
  • 现在我将代码库切换到 v3,但问题对于新的 v4 beta api 仍然有效
  • 可能很快会有更多官方解决方案:twitter.com/ryanflorence/status/832268350206078976
  • 我们现在有一个可行的解决方案

标签: javascript reactjs react-router server-rendering


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2017-05-20
    • 2017-11-12
    • 2016-08-06
    • 2015-08-18
    • 2016-01-27
    • 2016-04-11
    • 2018-01-06
    • 2017-04-06
    • 2016-05-09
    相关资源
    最近更新 更多