【问题标题】:Rendering in React.js在 React.js 中渲染
【发布时间】:2014-08-21 14:01:43
【问题描述】:

我是 React.js 的新手,我有一个问题是 - 是否有必要在重新渲染之前卸载 React Modal 视图。

我正在尝试如下调用反应模式视图。模态仅在第一次出现。但是,如果在调用此渲染函数之前卸载了模态框,则会显示模态框。

render: function(options) {
    React.renderComponent(<ModalView id="ModalView" 
                         model={this.model}/>,$("#"+this.viewId)[0]);
},

谢谢。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    您应该只在根组件上调用React.renderComponent()。要渲染子组件,只需在 render 方法中返回它即可。

    render: function() {
            return <ModalView id="ModalView " model={this.model}/>;
    }
    

    为了回答您的问题,不,您不需要显式卸载任何东西。要触发渲染,您可以使用 setStatesetPropsforceUpdate

    【讨论】:

      【解决方案2】:

      您使用的是引导模式吗?我有同样的问题。一旦渲染,将不会调用 componentDidMount。因此不会显示模态。我定义了一个 onClose 道具来在关闭时卸载组件。如果有更好的方法我会感兴趣。

      【讨论】:

      • componentDidMount 在初始渲染时被调用。 componentDidUpdate 在 subsequest 渲染上调用。