【发布时间】:2019-04-11 05:38:16
【问题描述】:
感谢 webpack 4 和 react-loadable,我刚刚开始使用代码拆分和动态导入在服务器端渲染一个 react 16 应用程序。
我的问题可能听起来很愚蠢,但有些东西我不太明白。
在服务器端,我正在等待 webpack 已加载所有模块,然后再将 html 吐出给客户端。
在客户端,我在渲染加载的组件之前渲染了一种加载组件。
所以基本上服务器渲染加载的组件:
<div>loaded component</div>
客户端水合加载组件:
<div>loading...</div>
很明显,问题是 React 在 hydra() 之后抱怨,因为服务器和客户端之间存在不匹配。
在几秒钟内,客户端首先呈现
<div>loading...</div>
而服务器已经渲染并发送到客户端,加载组件的 html。
有人可以启发我吗?它是如何工作的? 加载组件时如何防止第一次渲染不匹配?
【问题讨论】:
标签: webpack-4 server-side-rendering code-splitting dynamic-import react-16