我有一个状态,里面有一个嵌套对象。如果我更新一个值,另一个值正在覆盖,我想保留上一个值和新值。
这是我试过的:
默认阶段:
state = {
custom: {
data: null,
categories: null
},
index: 0
}
更新阶段:
this.setState({ ...this.state.custom, custom: { data: data } });
this.setState({ ...this.state.custom, custom: { categories: categories } });
this.setState({ ...this.state.custom, index: index });
所以发生的事情是值被覆盖状态更新的最后一个值。
预期产出:
state = {
custom: {
data: new updated value,
categories: new updated value
},
index: new updated value
}
答案 0 :(得分:0)
试试这个
this.setState({ custom: { ...this.state.custom, data: data, categories:categories }, index: index });