当前,我正在检查使用ReactJS作为ReactDom库的代码。这使用HTML模板,并向组件呈现js文件,如下所示:
//...
ReactDOM.render(<Component1 />, container1)
ReactDOM.render(<Component2 />, container2)
//...
ReactDOM.render(<ComponentN />, containerN)
同时渲染整个内容,并且由于每个组件都需要api调用,因此白屏至少需要2到3秒钟。
我想一些原因:
- 关键路径将暂停,直到执行整个JS,然后等待更新DOM内容。因此,也许我只需要拆分js并使用异步模式加载(但我也不想同时请求很多js文件)。当前,有人试图将所有ReactDom.Render调用放在类似于任务的数组中,并使用异步库来同时运行每个调用,但没有用(延迟未删除)
- 组件使用其他需要完成其自身加载过程的内部组件。在这种情况下,我想我需要延迟加载,但是由于我使用的是类似库的React,所以我不确定该怎么做。每个组件都使用redux.connect连接其他无状态组件,而最后一个组件有时使用另一个组件的组件,这些组件使用props调用redux动作(API请求)。