如何通过在 Rect 中添加所有项目字段来设置购物车小计



我想选择几个项目并将它们放入购物车,但是当我添加多个项目时,数组中会发生重置,此外,值未正确添加。可能会发生什么?

更新:现在我有另一个问题。当我将同一口袋妖怪中的 2 个项目添加到列表中时,第一个口袋妖怪重置为 0,新口袋妖怪被添加到列表中两次。如何解决这个问题?

useEffect(() => {
setValue(qtd.reduce((subtotal, item) => subtotal + item[2], 1));
}, [qtd]);
const [pokemons, setPokemons] = useState([]);
const [value, setValue] = useState(0);
const [qtd, setQtd] = useState([]);

function addItemToCart(qtd, index, pokemon) {
console.log(qtd);
const existingCartItem = qtd.find((item) => item[0] === index);
if (existingCartItem) {
const updatedCartItem = [
existingCartItem[0],
existingCartItem[1],
existingCartItem[2] + (index + 1) * 4,
existingCartItem[3] + 1,
];
console.log(existingCartItem[0], index);
qtd.splice(existingCartItem);
console.log(updatedCartItem);
setQtd([...qtd, updatedCartItem]);
} else {
setQtd([...qtd, [index, pokemon.pokemon.name, (index + 1) * 4, 1]]);
}
}

你应该在useEffect中使用setValue。 即

useEffect(() => {
setValue(qtd.reduce((subtotal, item) => subtotal + item[2], 1));
}, [qtd]);

相关内容

  • 没有找到相关文章

最新更新