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

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

但是,在客户端上进行重新水化期间,尚未触发对异步加载组件的 import(...) 调用 . 同时,DOM已经拥有了必须从快照中渲染的东西 .

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

此外,是否有可能在 import 完成后运行react的水合逻辑,这样即使在导入完成后我也可以防止任何闪烁?

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