Infelizmentente não consegui entender com a explicação do instrutor o porque da criação do hook customizado 'useCarrinhoContext'. Não poderíamos simplesmente deixar as funções dentro do próprio 'CarrinhoContext'?
Infelizmentente não consegui entender com a explicação do instrutor o porque da criação do hook customizado 'useCarrinhoContext'. Não poderíamos simplesmente deixar as funções dentro do próprio 'CarrinhoContext'?
Oi, Matheus, tudo bem?
A criação do hook customizado 'useCarrinhoContext' pretende facilitar o acesso e a manipulação do contexto de carrinho em outros componentes. Ao criar esse hook, podemos extrair a lógica de acesso ao contexto e reutilizá-la em qualquer componente que precise acessar o carrinho.
Imagine que você tenha vários componentes diferentes que precisam acessar o carrinho e realizar operações nele, como adicionar ou remover produtos. Se não utilizarmos o hook customizado, teríamos que repetir o código de acesso ao contexto em cada um desses componentes. Com o hook, podemos simplesmente importá-lo e utilizá-lo em qualquer componente, tornando nosso código mais limpo e organizado.
Além disso, ao utilizar o hook customizado, podemos facilmente adicionar outras funcionalidades ao contexto de carrinho no futuro, sem precisar alterar todos os componentes que o utilizam. Por exemplo, se quisermos adicionar uma funcionalidade de desconto no carrinho, basta adicionar essa lógica no hook customizado, sem precisar alterar todos os componentes que acessam o carrinho.
Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum.
Abraços!