用里面的数组更新嵌套状态对象
update nested state object with array inside
我在更新内部有对象数组的状态对象时遇到问题。我尝试过的东西很少,但其中 none 有效。这是我的状态对象的示例。在下面的示例中,我想根据用户在输入字段中键入的内容更新 test 和 test2 的值。有人可以指导我正确的方向吗?谢谢!
this.state = {
someProperty: {
someOtherProperty: [
object in array: {
test: true,
test2: false
},
object in array: {
test: true
test2: false
}
..
]
...
}
...
}
我更新对象内部值的尝试如下:
this.setState(prevState => ({
...prevState,
someProperty: {
...prevState.someProperty,
someOtherProperty: [
...prevState.someProperty.someOtherProperty,
test: false
]
}
}))
您可以创建一个数组 latestSomeOtherProperty
,更新所需的索引,然后;
const latestSomeOtherProperty = someOtherProperty.map(prop=>{...prop, test: false}); // it updates all but you can put condition here
this.setState(prevState => ({
...prevState,
someProperty: {
...prevState.someProperty,
someOtherProperty: [
...latestSomeOtherProperty
]
}
}))
我在更新内部有对象数组的状态对象时遇到问题。我尝试过的东西很少,但其中 none 有效。这是我的状态对象的示例。在下面的示例中,我想根据用户在输入字段中键入的内容更新 test 和 test2 的值。有人可以指导我正确的方向吗?谢谢!
this.state = {
someProperty: {
someOtherProperty: [
object in array: {
test: true,
test2: false
},
object in array: {
test: true
test2: false
}
..
]
...
}
...
}
我更新对象内部值的尝试如下:
this.setState(prevState => ({
...prevState,
someProperty: {
...prevState.someProperty,
someOtherProperty: [
...prevState.someProperty.someOtherProperty,
test: false
]
}
}))
您可以创建一个数组 latestSomeOtherProperty
,更新所需的索引,然后;
const latestSomeOtherProperty = someOtherProperty.map(prop=>{...prop, test: false}); // it updates all but you can put condition here
this.setState(prevState => ({
...prevState,
someProperty: {
...prevState.someProperty,
someOtherProperty: [
...latestSomeOtherProperty
]
}
}))