Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用挂钩删除React中的子任务_Javascript_Reactjs_React Hooks - Fatal编程技术网

Javascript 使用挂钩删除React中的子任务

Javascript 使用挂钩删除React中的子任务,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我在删除待办事项应用程序中的子任务时遇到问题。我想从“域”中删除选定的子任务,istead HandlerRemoveSubTasks将同时删除所有子任务 这是我的沙箱: 正在删除子任务 const handleRemoveSubtasks = subtaskId => { useList( list.map(el => { console.log(el.tasks); console.log(subtaskId);

我在删除待办事项应用程序中的子任务时遇到问题。我想从“域”中删除选定的子任务,istead HandlerRemoveSubTasks将同时删除所有子任务

这是我的沙箱:

正在删除子任务

const handleRemoveSubtasks = subtaskId => {
    useList(
      list.map(el => {
        console.log(el.tasks);
        console.log(subtaskId);
        console.log(el.tasks.filter(ele => ele.id !== subtaskId));
        return el.tasks.filter(ele => ele.id !== subtaskId);
      })
    );
  };

有各种各样的问题:

  • handleRemoveSubtasks
    尝试访问
    el.tasks
    ,即使它不存在,也会抛出错误
  • handleRemoveSubtasks
    过滤器作为自己的
    el
    元素返回,而不是
    el.tasks
检查以下代码:

  const handleRemoveSubtasks = subtaskId => {
    useList(
      list.map(el => {
        if (!el.tasks) return el // If no tasks, return the same element
        return {...el, tasks: el.tasks.filter(task => task.id !== subtaskId)} // if tasks, filter them by id
      })
    );
  };

什么东西在沙箱里不起作用?我也在想同样的事情。你能解释一下“我在删除待办事项应用程序中的子任务时遇到问题”是什么意思吗?删除似乎很有效。我刚刚编辑了我的问题。我想从“域”中删除选定的子任务,而不是HandlerRemoveSubTasks一起删除所有子任务。