使用React.lazy
如果从一个库中一次性导入多个组件?
const Module = React.lazy(() => {
return new Promise((resolve: any, reject) => {
import('moduleCom')
.then(module => {
resolve(module)
})
.catch(err => {
reject(err)
})
})
})
<Module.A/>
<Module.B/>
<Module.C/>
moduleCom
中有A、B、C
三个组件,按照以上写法会报错。
只能一个一个import
吗?
const A = React.lazy(() => {
return new Promise((resolve: any, reject) => {
import('moduleCom')
.then(module => {
resolve(module.A)
})
.catch(err => {
reject(err)
})
})
})
const B = React.lazy(() => {
return new Promise((resolve: any, reject) => {
import('moduleCom')
.then(module => {
resolve(module.B)
})
.catch(err => {
reject(err)
})
})
})
const C = React.lazy(() => {
return new Promise((resolve: any, reject) => {
import('moduleCom')
.then(module => {
resolve(module.C)
})
.catch(err => {
reject(err)
})
})
})
<A/>
<B/>
<C/>
然后你可以在你的组件里: