发生这种情况是因为您循环遍历购物车中的所有商品,并且对于每个商品,您将整个购物车附加到
cart
中。
您需要做的是将现有商品替换为相同商品但数量不同。像这样的东西:
state.cart.map(item => item.id == action.payload.id
? {...item, quantity: item.quantity + 1 }
: item);
我无法测试代码,但我希望它至少能帮助您找出问题。
如果这有帮助,请告诉我。