A estrutura do reduce não deveria ser como abaixo:
useEffect(() => {
const { totalTemp, quantidadeTemp } = carrinho.reduce((acumulador, produto) => ({
quantidadeTemp: acumulador.quantidadeTemp + produto.quantidade,
totalTemp: acumulador.totalTemp + produto.preco * produto.quantidade,
}), {
quantidadeTemp: 0,
totalTemp: 0,
});
setQuantidade(quantidadeTemp);
setValorTotal(totalTemp);
}, [carrinho]);
No texto transcrito está assim:
useEffect(() => {
const ( totalTemp, quantidadeTemp ) = carrinho.reduce((acumulador, produto)=>({
quantidadeTemp: acumulador.quantidadeTemp + produto.quantidade,
totalTemp: acumulador.totalTemp + produto.preco * produto.quantidade,
}));
{
quantidadeTemp: 0,
totalTemp: 0,
}
setQuantidade(quantidadeTemp);
setValorTotal(totalTemp);
}, [carrinho]);