@Nahnzo

Как удалить объект из массива в реакт?

Есть массив с объектами задач, по клику кнопки нужно удалить задачу :
Вот код с компонента в котором создано состояние с массивом объектов
//
const deleteTodo = (Todo) => {
const deletedTodo = Todo.filter(item => item.id !== todo.id)
setTodo(deletedTodo)
} // по разному пытался менять состояние todo
//
Пропсы прокинуты в компонент кнопки по удалению:
//
//Функция в самом компоненте с кнопкой -- onClick={() => deleteTodo(todo)}
Пробовал по разному, либо удаляется полностью весь массив и остается на странице 1 пустой элемент, либо не происходит ничего вообще, смотрел в консоли постоянно по условию возвращает либо весь массив либо пустой, но ни как не удаленный элемент, скорее всего не знаю как правильно задать условие.
// Вот сам массив с объектами --
let newTodo = {
title: title,
id: Date.now(),
completed: completed
}
setTodo([...todo, newTodo])
//
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
al77ex
@al77ex
FullStack Developer
Воспользуйтесь фильтром, что-то типа
setTodo([...todo].filter(item => item.id !== id))
id - соответственно ид удаляемого объекта
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы