防止服务器渲染的反应组件的安装/初始渲染

时间:2017-12-20 15:49:13

标签: reactjs code-splitting

我使用类似于react-snap的自定义工具在构建时创建应用的快照,如recommended in the create-react-app docs。这会生成一个静态服务器呈现版本,我可以在nginx后面部署,而无需在服务器上运行react。这很好。

我还使用代码分割来懒洋洋地加载一些组件以减少初始JS有效负载。 (我使用react-loadable,但我愿意在需要时更改它。)在创建快照时,它正常工作,并且HTML正确生成,用户正确接收,并且所有内容都完全显示在服务器上甚至没有下载任何JS。这很棒。

但是,在客户端重新水化期间,尚未触发对异步加载组件的list调用。同时,DOM已经拥有了必须从快照中呈现的内容。

在这种情况下,有没有办法在安装过程中阻止组件的初始渲染,因为我已经在DOM中有内容了?

此外,是否可以在import(...)完成后运行反应水合逻辑,以便即使在导入完成后我也可以防止任何闪烁?

如果重要,延迟加载的组件是不常用的路由,由react-router管理。

0 个答案:

没有答案