我有以下组件。它不会在dom中呈现产品模块,也不会在控制台中显示任何错误。
如果我使用ReactDOM.render(<ProductModule/>,document.getElementById('product-container'));
,它将正常工作。
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
class ProductModuleWrapper extends Component {
constructor(props) {
}
render() {
return (
<div className="product-container">
{this.renderProductModules()}
</div>
);
}
renderProductModules() {
require.ensure([],(require) => {
var ProductModule = require('../ProductModule').default;
return ProductModule;
},'productmodule');
}
}
编辑:
我认为这与require sure调用的异步性质有关,请帮助
最佳答案
只有在组件的状态或道具已更新时,React才会重新渲染。在您的示例中,两者都不是,因此它不会呈现组件,因为它是异步获取的。
我建议您按照此博客文章中的说明使用this.state
:http://blog.netgusto.com/asynchronous-reactjs-component-loading-with-webpack/