【发布时间】:2020-12-16 20:47:33
【问题描述】:
我想延迟加载我的组件以减少我的初始包大小并使用 react 路由器使用代码拆分来动态获取组件。
但是,在使用 React Suspense 时,它们会强制您使用后备进行加载。
这行不通:
const lazyLoadComponent = Component =>
props => (
<Suspense> // Missing fallback property
<Component {...props} />
</Suspense>
);
在我的情况下,我正在从服务器渲染 html,所以我不想使用微调器。
这会在我的屏幕上产生无用的闪烁!
即:
- HTML 加载
- 占位符出现
- 已加载路由的 PageComponent
- 我有自己的微调器,可以从页面组件中加载提要
在我的例子中,html 对应于被加载的 react 组件。
是否有任何已知的 hack 可以轻松解决此问题(除了为复制 html (!!) 的任何路由创建加载器,顺便说一下,这会使延迟加载无用)。
我对“强迫”我们添加加载器有点不满,我不理解强制执行的决定背后的逻辑。
【问题讨论】:
标签: javascript reactjs react-router lazy-loading react-suspense