如果购物车中已存在项目,如何更新购物车数量-reactjs?

时间:2021-01-12 21:08:28

标签: javascript arrays reactjs react-hooks

在此代码中,而不是显示“产品已添加到购物车”。提醒消息,如果购物车中已有商品,我想更新购物车数量,请帮帮我。

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.');
    }

1 个答案:

答案 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]);
  }
};