我有以下组件。它不会在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.statehttp://blog.netgusto.com/asynchronous-reactjs-component-loading-with-webpack/

09-25 16:36