2017-06-19 121 views
0

我正在看这个video,并想了解第一次加载页面时组件的状态是如何设置的。组件是否已经在服务器端设置了状态,然后被发送到客户端,如HTML 组件在服务器端构建完成,以HTML形式发送到客户端,然后运行bundle.js来获取数据?React服务器端渲染状态如何工作?

大约在视频中的8分钟标记,讲话人谈论窗口状态需要设置并与React状态同步。那是什么?为什么需要在窗口上显示状态,如果它已经设置在服务器端?是因为它尚未设置,它是从服务器分开发送的,客户端组件必须从窗口中抓取它?

+1

这是因为客户端的反应也需要这个状态。 – zerkms

回答

1

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

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

  • 创建一个新的,新的每个请求作出反应存储实例; 可选择派遣一些动作; 拉出存储状态; 然后将状态传递给客户端。 在客户端,将创建一个新的React存储并使用服务器提供的状态进行初始化。

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

+0

你什么时候必须使用窗口状态? – stackjlei

相关问题