【问题标题】:How does state work in React sever side rendering?React 服务器端渲染中的状态如何工作?
【发布时间】:2017-11-21 02:54:50
【问题描述】:

我正在看这个video 并想了解在第一个页面加载期间组件的状态如何设置为组件。组件是否已经在服务器端构建了状态集,然后像 HTML 一样被发送到客户端 OR 组件是否在服务器端构建,被发送到客户端作为 HTML,然后运行 ​​bundle.js 来获取数据?

在视频的 8 分钟左右,演讲者谈到需要设置窗口状态并与 React 状态同步。那是关于什么的?如果已经在服务器端设置了窗口,为什么还需要在窗口上显示状态?是不是因为还没设置好,和服务器分开下发,客户端组件不得不从窗口中抓取?

【问题讨论】:

  • 那是因为客户端react也需要状态。

标签: javascript reactjs render state server-rendering


【解决方案1】:

将 React 与服务器渲染一起使用时,我们还必须在响应中发送应用程序的状态,以便客户端可以将其用作初始状态。这很重要,因为如果我们在生成 HTML 之前预加载任何数据,我们希望客户端也可以访问这些数据。否则,客户端生成的标记将与服务器标记不匹配,客户端将不得不重新加载数据。

要将数据发送到客户端,我们需要:

  • 为每个请求创建一个全新的 React 存储实例; 可选地调度一些动作; 将状态拉出商店; 然后将状态传递给客户端。 在客户端,将使用服务器提供的状态创建和初始化一个新的 React 存储。

React 在服务器端的唯一工作是提供我们应用的初始状态。

【讨论】:

  • 什么时候必须使用窗口状态?
猜你喜欢
  • 2016-04-03
  • 1970-01-01
  • 2020-06-29
  • 2019-10-05
  • 1970-01-01
  • 2016-10-16
  • 2015-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多