react懒加载
其实官方提供了非常简单的使用例子,配合suspense使用
1 | const A = React.lazy(() => import( './a.js')); |
这样就可以实现懒加载A
如果我有很多组件需要懒加载,每个又很小只有几k,可以把他们打包到一个命名chunk中,比如async。
1 | const A = React.lazy(() => import(/* webpackChunkName: "async" */ './a.js')); |
如果我的组件B是需要用户点击交互之后才会加载,那么用户就会在一个loading的页面等待一段时间,但是实际上我可以在用户点击之前就主动去加载这个组件,这样用户用到的时候就可以直接看到B了
1 | const A = React.lazy(() => import(/* webpackChunkName: "async" */ './a.js')); |
参考:https://hackernoon.com/lazy-loading-and-preloading-components-in-react-16-6-804de091c82d