Как добавить измененный текст вместо старого текста в Списке Дел? Нужно написать handleEditClick ()

  const [input, setInput] = useState("");
  const [data, setData] = useState([]);
  const [num, setNum] = useState(1);
  const [edit, setEdit] = useState({});
  const [modal, setModal] = useState(false);
  
  const handleChange = (e) => {
    setInput(e.target.value);
  };

  const handleClick = () => {
    setData([
      …data,
      {
        id: num,
        status: false,
        title: input,
      },
    ]);

    setNum(num + 1);
  };

  const handleDelete = (id) => {
    let a = data.filter((e) => e.id !== id);
    setData(a);
  };

  const handleCheck = (id) => {
    let a = data.find((e) => e.id === id);
    a.status = !a.status;
    setData([…data]);
  };

  const handleEdit = (id) => {
    let a = data.find((e) => e.id === id);
    setEdit(a);
    setModal(!modal);
  };

  const handleEditChange = (e) => {
    const { value } = e.target;
    setEdit({ …edit, title: value, status: true })
  };
  // console.log(edit);

  const handleEditClick = () => {
    setData([data,
      {
      title: edit.title
      }
  ],)
    console.log(setData);
    // console.log(edit.title);

  };```

Ответы (1 шт):

Автор решения: Yuriy Sidorov

Надо передать в handleEditClick id изменяемого элемента:

const handleEditClick = (id) => {
        setData(prev => (
            prev.map(item => ({...item, title: item.id === id ? edit.title : item.title })
            )
        ));
    }
→ Ссылка