我有一个state
这样的数组:
constructor(props){
super(props)
this.state={
test_steps: []
}
}
,它具有以下属性:
test_steps: [
{
description: "Test desc"
expected_results: "Test exp. results"
other_info: "test other info"
status: true
step_number: "1"
_id: {$oid: "1234565894"}
}
]
如果我只想在此状态下更新**other_info**
属性,我将如何实现?
答案 0 :(得分:1)
由于数组中只有一个元素,因此可以使用扩展语法,然后更改相关属性。
this.setState(prevState => ({
test_steps: [
{
...prevState.test_steps[0],
other_info: "foo"
}
]
}));
答案 1 :(得分:1)
您首先需要获取状态并将其存储在变量中。然后循环值并修改它。之后,只需设置状态即可。
let test_steps = this.state.test_steps;
test_steps.map((test)=>{
test.other_info = "YOUR_UPDATED_INFO";
return test;
});
this.setState({test_steps});