gpt4 book ai didi

javascript - 购物车/将多个项目添加到购物车

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:00 25 4
gpt4 key购买 nike

我正在尝试使用 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

最佳答案

解决问题的基本方法是

`let index=cartItem.findIndex(temp=>temp.name===item.name);
if(index>-1){
cartItem[index].count++;
}
else{
cartItem.append({...item, count: 1 })
}`

尽量不要改变 cartItem 对象

关于javascript - 购物车/将多个项目添加到购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57906717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com