Olá! Parece que você fez um ótimo trabalho na função removerProduto
. A lógica que você implementou está correta e segue as instruções do exercício.
No entanto, notei um pequeno problema em seu código. Você está tentando reatribuir um valor a carrinhoMod
que é uma constante. Em JavaScript, constantes não podem ter seus valores reatribuídos.
Para corrigir isso, você pode fazer a reatribuição diretamente na chamada do método filter
, assim:
function removerProduto(id) {
let carrinhoMod = [...carrinho]
const indProduto = carrinhoMod.findIndex(item => item.id === id)
const produto = carrinhoMod[indProduto]
if (produto.quantidade > 1) {
produto.quantidade--
} else {
carrinhoMod = carrinhoMod.filter(item => item.id !== produto.id)
}
setCarrinho(carrinhoMod)
}
Note que mudei carrinhoMod
para ser uma variável let
em vez de const
, para permitir a reatribuição. Ou você pode criar uma nova variável para isso, é até mais seguro e deixa seu código mais claro. No mais, é isso!
Espero ter ajudado e bons estudos!