我有一个包含一些数据的表,并且表中的每个元素都是一个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谢谢你的评论,它拯救了我的生命。 –