Primeiramente, parabéns pelo tópico. Sempre ouvia falar sobre injeção de dependência mas nunca tinha parado pra ler. O exemplo é bem didático também.
Mas fiquei com uma dúvida, qual a diferença, neste exemplo, do fetch isolado na classe? Se houver problema na requisição, afetará o hook e o app de qualquer maneira. Num primeiro momento me parece até overengineering. Mas pergunto aqui justamente pela ignorância no assunto.
Obrigado pelo comentário!
A ideia aqui é isolar e tratar os componentes adequadamente. Se houver problema na requisição é problema do endpoint, certo, e o componente não tem nada com isso. E eu falei em ISOLAR
? Bom, em tempos de garantir o funcionamento de cada parte da aplicação, é bem mais fácil e prático testar
as partes sem muita dependência
.
Nesse caso você pode trocar o fetch pelo Axios sem problemas e a App não vai nem saber. Com esse desacomplamento, você não fica refém do fetch ou do Axios.
Esse foi o exemplo mais simples e fácil de entender, e a injeção de dependência foi um plus, você pode procurar a teoria por trás, ou um exemplo mais completo.