我正在尝试使用webpack 2实现动态代码拆分并作出反应。为了测试我创建了代码异步牵引组件:为什么这反应组件,导入System.import,不渲染?
import React, { Component } from 'react'
export class Async extends Component {
constructor(props) {
super(props)
this.state = { component: <div>Loading</div> }
}
componentDidMount() {
System.import('../../about')
.then(component => this.setState({ component: component.About }))
.catch(error => this.setState({ component: <div>{error.message}</div> }))
}
render() {
return this.state.component
}
}
然而,当我安装它,它返回以下错误:
Async.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.
把一个的console.log(this.state .component)在Async
的渲染功能,结果如下:
那么什么错吗?看起来好像我得到了有效的反应组件,那为什么它会抛出一个错误?
应该从'react''导入React,{Component} from'react''不是'import {React,Component}吗? – evolutionxbox
@evolutionxbox不,React是'react'包的默认导出 – vsjn3290ckjnaoij2jikndckjb