React - setState() 不更新叶级属性
React - setState() Does not update leaf level attributes
我正在使用 React 和 Basic Flux 来做一个数据输入网络应用程序。
所以我有一个与商店通信的根组件,获取类似于 this 的复杂数据对象。
在更改选项 select 元素时,我触发了一个操作,该操作会带来另一个具有与上述结构类似的相关对象。
我将这个庞大的对象作为我的数据输入页面的根状态进行管理,并将数据作为道具传递给各个组件。
此对象的叶级别,我已将其绑定到输入元素。所以它随着对象的改变而改变。所有这些变化都从根组件的以下状态变化中滴落下来。
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : measurements
});
});
但在我的例子中,叶级别的值不会随着状态的变化而变化。但是当我添加以下内容时
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : {}
});
this.setState({
measurements : measurements
});
});
它开始正常工作,叶级值相应改变。为什么会这样?
想通了。
我在我编写的可重用 "custom" 输入中维护状态,因此更改没有按预期进行,因为子元素基于它自己的状态。
删除状态及其 "props" 一直到最后!
吸取教训!总是努力提升你的状态!
我正在使用 React 和 Basic Flux 来做一个数据输入网络应用程序。 所以我有一个与商店通信的根组件,获取类似于 this 的复杂数据对象。
在更改选项 select 元素时,我触发了一个操作,该操作会带来另一个具有与上述结构类似的相关对象。
我将这个庞大的对象作为我的数据输入页面的根状态进行管理,并将数据作为道具传递给各个组件。
此对象的叶级别,我已将其绑定到输入元素。所以它随着对象的改变而改变。所有这些变化都从根组件的以下状态变化中滴落下来。
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : measurements
});
});
但在我的例子中,叶级别的值不会随着状态的变化而变化。但是当我添加以下内容时
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : {}
});
this.setState({
measurements : measurements
});
});
它开始正常工作,叶级值相应改变。为什么会这样?
想通了。 我在我编写的可重用 "custom" 输入中维护状态,因此更改没有按预期进行,因为子元素基于它自己的状态。
删除状态及其 "props" 一直到最后!
吸取教训!总是努力提升你的状态!