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'?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!