2017-06-21 23 views
-1

我有一個容器包含一些HTML與<div id="ID"></div>。我有當我打電話的childcomponent一個動作,uDate公司了Redux狀態的反應,我想在呈現狀態組件DIV使用ReactDOM.render不更新容器道具

React.render(<ChildComponent data={this.props.data} />, document.getElementById('ID')) 

,父容器的道具不更新,只是ChildComponent重呈現舊值。刷新頁面時,這些道具會更新。

這是什麼解決方案?有沒有其他的方法來呈現HTML中的React組件,以便可以使用新的道具更新道具?

+0

我猜你正在做'ReactDOM.render',即使你這樣做,你不會將數據作爲'this.props.data'傳遞,因爲你不會在React類中有這個。嘗試添加一個我們可以看到的工作jsFiddle –

+0

我並不完全確定,但是,您不必將HTML元素放入要呈現應用程序的容器中,就好像在應用程序中呈現應用程序:https:/ /medium.com/@dan_abramov/two-weird-tricks-that-fix-react-7cf9bbdef375 –

+0

這是我的要點: https://gist.github.com/anonymous/d9932ad66e965ef812c0737b304024dd – Piyush

回答

0

你能分享你的代碼爲<ChildComponent>及其父母嗎?有很多事情你可能會做錯,但突出的事情是,它看起來像你是從它的父母分開渲染,而不是作爲其父母的子「prop」,如下所示:

<ParentComponent> 
    <ChildComponent /> 
</ParentComponent> 

官方文檔也有很多關於如何入門的示例:https://facebook.github.io/react/docs/hello-world.html

希望這有助於您!

+0

間接是的。但首先看到我的代碼在這裏: https://gist.github.com/anonymous/d9932ad66e965ef812c0737b304024dd – Piyush