【发布时间】:2020-01-14 07:57:45
【问题描述】:
我正在尝试使用 React js 和 Redux 创建一个购物车,但我遇到了一个问题。
尝试了很多方法,但我一直失败,当我将多个项目(食物/饮料)添加到列表中时,一切似乎都正常,但是当我想在现有选择中添加额外的饮料时,我的列表会被覆盖。这是我现在拥有的代码:
const addItemToCart = item => {
if (cartItems.length) {
cartItems.forEach(itemToCheck => {
if (item.name === itemToCheck.name) {
addCountToItem({ ...itemToCheck, count: itemToCheck.count + 1 });
} else if (item.name !== itemToCheck.name) {
addToCart({ ...item, count: 1 });
}
});
} else if (cartItems.length === 0) {
addToCart({ ...item, count: 1 });
}
};
想法是我可以在列表中包含多个项目,并且列表中的相同项目数量不受限制。所以基本上,我应该可以吃 5 个相同类型的比萨饼,3 个不同类型的啤酒等。
我想和其他购物车一样。提前致谢。
更新:
这里是 addCountToItem 的代码。我删除了它,但它正在朝着这个方向发展
state.cartItems[findIndex(...)] = data.cartItem
【问题讨论】:
-
你能分享 addToCart、addCountToItem 的代码和你的购物车减速器代码吗?
-
刚刚添加了我删除之前的内容..现在无法完全回忆起该功能:/
-
这不是您使用 redux 将商品添加到购物车的方式。你必须创建你的动作和减速器,然后将动作分派给减速器
标签: javascript reactjs react-redux shopping-cart