首页 > 解决方案 > 如何通过某些规则从 redux 状态中删除某些项目

问题描述

如果对象中的某人 id 与有效负载中的 id 相同,我想删除对象数组中的项目。

我的代码:

case "MINUS_PRODUCT_FROM_CART": {
      const arr = state.cart.forEach((item, i) => {
        if (item[i].id === payload.id) {
          arr.splice(i, 1);
        }
      });
      return {
        ...state,
        cart: arr,
      };
    }

我的有效载荷看起来:

[
{title: "Product 1", price: "128", id: "15"},
{title: "Product 2", price: "9", id: "26"},
{title: "Product 2", price: "9", id: "26"}
]

如果有效负载 id === 26 我只想删除一个具有此 id 的对象

谢谢!

标签: javascriptreactjsredux

解决方案


const arr = state.cart.filter((item, i) => {
      return item.id !== action.payload.id;
     });
 return {
        ...state,
        cart: arr,
      };

推荐阅读