[英]React hooks - Remove multi object from array and update state
如何刪除數組的多個對象並更新狀態? 我從復選框中選擇了多個項目 這是選定的項目 [5, 4, 3] 我想根據 id 刪除數組中的所有項目並更新狀態 這是我的代碼
const [products, setProducts] = useState();
const DeleteProducts = () => {
const selectedItems = [5, 4, 3];
selectedItems.forEach(function(p) {
setProducts(products.filter(prd => prd.id !== p));
});
}
它一次只刪除一項,但我選擇了 3 項。 如何在產品狀態中顯示除 3 個選定項目之外的剩余項目? 謝謝
您可以將其簡化為單個過濾器功能:
const DeleteProducts = () => {
setProducts(prevProducts => {
return prevProducts.filter(p => ! p.selected);
});
}
const DeleteProducts = () => {
const filteredProducts = products.filter(product => !product.selected);
setProducts(filteredProducts);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.