我有一個包含一些數據的表,並且表中的每個元素都是一個React類組件。它看起來像這樣:從父母狀態刷新兒童狀態React
我要的是有一個複選框「檢查所有」功能(左上覆選框)。事情是我不知道如何解決,因爲props
和state
。
我一樣,在單個元素組件代碼:
getInitialState: function() {
return { component: this.props.data };
},
render: function() {
var data = this.state.component;
data = data.set('checked', this.props.data.get('checked'));
...
}
而且我知道我不應該props
得到checked
PARAM但它僅僅是暫時的。
我有什麼問題是:當我更新checked
param在父母它不更新狀態,因爲getInitialState
不刷新後(是的,我知道它應該是這樣)。
我的問題是:我可以以某種方式更新子組件的狀態嗎?或者它是更好的方式來實現這一點。
除非您非常小心,否則最終可能會與孩子爭奪父母以控制其狀態。恕我直言,最好讓孩子無國籍,並由道具驅動。父母可以控制所有孩子的選中狀態。 – edoloughlin
@edoloughlin謝謝你的評論,它拯救了我的生命。 –