你可以使用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

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

原文地址: http://www.cveoy.top/t/topic/ivsL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录