React hooks - удаление мультиобъекта из массива и обновление состояния - PullRequest
0 голосов
/ 19 февраля 2020

Как удалить несколько объектов массива и обновить состояние? Я выбрал несколько элементов из флажка Это выбранный элемент [5, 4, 3] Я хочу удалить все элементы в массиве на основе идентификатора и обновить состояние Это мой код

 const [products, setProducts] = useState();

 const DeleteProducts = () => {
  const selectedItems = [5, 4, 3];

    selectedItems.forEach(function(p) {
      setProducts(products.filter(prd => prd.id !== p));
    });
}

Только его удаление один предмет за раз, но я выбрал 3 предмета. Как показать остальные товары, кроме 3 выбранных товаров в состоянии товаров? Спасибо

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Вы можете упростить это до одной функции фильтра:

const DeleteProducts = () => {
  setProducts(prevProducts => {
    return prevProducts.filter(p => ! p.selected);
  });
}
1 голос
/ 19 февраля 2020
const DeleteProducts = () => {
  const filteredProducts = products.filter(product => !product.selected);
  setProducts(filteredProducts);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...