使用 React.lazy 预加载

Preloading with React.lazy

react-loadable 公开了一个非常好的方法 YourLoadableComponent.preload() 多亏了它,您可以在组件渲染之前轻松预加载组件(onMouseOver 等)。

我知道我可以做类似的事情:https://github.com/pomber/react-lazy-preload-demo/pull/8/commits/126c1bf6e2a23b3e3f7eb0ffb1b4db260516643f 所以要手动调用 import(),将结果 Promise 存储在某个变量中,然后将其传递给 React.lazy()。但是,如果我想在某些 class 方法调用或生命周期挂钩中预加载,它可能会有点过于冗长和有问题。

上述方法还有其他替代方法吗?

您可以 https://github.com/ianschmitz/react-lazy-with-preload 试一试。似乎很适合您的用例!