我想延迟加载我的组件以减少我的初始包大小并使用反应路由器使用代码拆分即时获取组件。
但是,当使用 React Suspense 时,它们会强制您使用后备进行加载。
这行不通:
const lazyLoadComponent = Component =>
props => (
<Suspense> // Missing fallback property
<Component {...props} />
</Suspense>
);
在我的情况下,我正在从服务器渲染 html,所以我不想使用微调器。
这会在我的屏幕上产生无用的闪烁!IE:
- Html 加载
- 占位符出现
- 路由的 PageComponent 被加载
- 我有自己的微调器,可以从页面组件中加载提要
在我的情况下,html 对应于被加载的反应组件。
是否有任何已知的黑客可以轻松解决此问题(除了为复制 html(!!)的任何路由创建加载程序,顺便说一下,这会使延迟加载无用)。
我对“强迫”我们添加一个加载器有点不满,我不理解强制执行的决定背后的逻辑。