import()
办法返回的是一个Promise
。asyncComponent
是一个返回组件的函数
const asyncComponent = (importComponent) => { return class extends Component { constructor(){ super(); this.state = { component: null } } componentDidMount() { importComponent().then(cmp => { this.setState({ component: cmp.default }); }); } render() { const C = this.state.component; return C ? <C {...this.props} /> : null } }}
应用:
const Home = AsyncCompoent(() => import('./Home/index/js'));const City = AsyncCompoent(() => { impirt('./city/index.js')});