我很困惑。
如何更改对象数组中的特定元素?例如,我希望在id为1的对象中更改' isComplete'
答案 0 :(得分:2)
这样的事吗?在这种情况下,您的新状态取决于旧状态,因此您必须使用setState的函数参数版本。
this.setState(prevState => {
const updatedTasks = prevState.task.map(task => {
return (task.id === 1 ? Object.assign({}, task, {isComplete: !task.isComplete}) : task)
})
return {task: updatedTasks}
})