2015-12-25 50 views
3

卸載組件從安裝它們放在同一個DOM元素從父DOM節點刪除子組件的反應

ReactDOM.render(<SampleComponent />, document.getElementById('container')); 

然後,我們將與卸載它如果容器具有兩個或兩個以上的組件,則將組件重新附加到父容器

<div id="container"> 
    <SampleComponent1/> 
    <SampleComponent2/> 
</div> 

我想刪除,並根據從SampleComponent2某些事件重新附加SampleComponent2

+0

'React.renderComponent'已被棄用,他們現在正在使用'React.render'。您也不能在同一個容器上安裝兩個不同的組件。它只會替換之前渲染的組件。 – oobgam

+0

@路在新版本中'0.14。*​​'需要使用'ReactDOM.render'而不是'React.render' –

+0

您需要存儲狀態並監聽事件。使用Flux或Redux庫。但通量有一些問題。 – seoyoochan

回答

2

你應該讓React根據你給它的道具來處理component1和2。

例如,ES6和陣營0.14純組分:

const App = ({has2}) => 
    <div> 
    <Component1 /> 
    {has2 && <Component2 />} 
    </div> 

如果has2是truthy,它將顯示COMPONENT2。只要has2發生變化,只需再次調用渲染,React就會完成剩下的工作。