【发布时间】:2021-05-23 19:13:25
【问题描述】:
我正在这里做一个项目,但遇到了一个小问题。现在我需要获取购物车中所有商品的价格并将其相加以形成“总计:{price}”,然后就可以了。我的大脑此刻完全静止。
现在这是我正在使用的代码:
const { cartItems } = useContext(AddToCartContext);
const [totPrice, setTotPrice] = useState(0);
let cart = cartItems.filter(
(ele, ind) => ind === cartItems.findIndex((elem) => elem.id === ele.id)
);
useEffect(() => {
cart.forEach((item) => {
setTotPrice(totPrice + item.price);
console.log(item.price);
});
}, []);
console.log(`${totPrice}`);
我很清楚这不起作用,因为totPrice useState 将自身重置为 0,作为其初始值。但我不确定如何解决这个问题?
我需要它来获取所有产品,可能是 10 种产品。然后将所有这 10 种产品的价格相加,得到总和。
任何想法都可以提供帮助!
【问题讨论】:
标签: javascript reactjs