const defaultTodos = id 1 text 学习React done false id 2 text 休息 done true id 3 text 吃饭 done false 假设我设置一个函数const arrsetArr=usestatedefaultTodos const const toggleDone = item = itemdone=!itemd
你可以使用map方法来更新arr中的done属性。以下是实现的代码示例:
const toggleDone = (item) => {
setArr(prevArr => prevArr.map(todo => {
if (todo.id === item.id) {
return {
...todo,
done: !todo.done
};
}
return todo;
}));
};
在这个例子中,我们首先使用map方法遍历prevArr数组。当遍历到与传入的item对象具有相同id的对象时,我们会返回一个新的对象,其中done属性的值被取反。对于其他的对象,我们返回原始的对象。最后,我们使用setArr方法将更新后的数组赋值给arr。
原文地址: http://www.cveoy.top/t/topic/ivsL 著作权归作者所有。请勿转载和采集!