在此代码中,而不是显示“产品已添加到购物车”。提醒消息,如果购物车中已有商品,我想更新购物车数量,请帮帮我。
const addToCart = (id) => {
const check = cart.every((item) => {
return item.id !== id;
});
if (check) {
const cartData = products.filter((el) => {
return el.id === id;
});
setCart([...cart, ...cartData]);
} else {
alert('The product has been added to cart.');
}
答案 0 :(得分:0)
尝试类似于下面的方法:
const addToCart = (id) => {
const check = cart.every((item) => {
return item.id !== id;
});
const cartData = products.filter((el) => {
return el.id === id;
});
if (check) {
setCart([...cart, ...cartData]);
} else {
const itemForCountIncrease = cart.find((item) => item.id == id);
itemForCountIncrease.count += 1;
setCart([...cart.filter((item) => item.id != id), itemForCountIncrease]);
}
};