我的减速机中有此功能,我要在其中返回更新的购物车
function updateCartInfo(cartItem, list) {
const { id } = cartItem;
const newList = new Map([...list.entries()]);
newList.set(id, cartItem);
return newList;
}
这就是我用来分配此功能的情况,其中cart是我的cart对象的数组。
case UPDATE_CART_INFO: {
const { payload } = action;
const { cart } = state;
return {
...state,
cart: updateCartInfo(payload, cart),
};
}
现在在组件内部,我正在尝试编写一个函数,该函数将使用reduce()通过其id删除一行。我如何从这里开始
handleRemove = () => {
const { cart } = this.props;
const row = cart.get(id);
return cart.reduce((list, item) => {
})
};
答案 0 :(得分:1)
为此,我将Array.filter用于购物车Map
。如果您使用的ID与购物车中的ID相同,则很简单:
handleRemove = () => {
const { cart } = this.props;
const filteredMap = [...cart].filter(([key, item])=> key !== id)
return new Map(filteredMap)
};