Ao longo do curso de Angular aprendemos que a implementação do componente ou serviço não deve ficar no constructor e sim no método OnInit. O fato é que já não lembro mais o motivo. Por que essa recomendação?
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!
Ao longo do curso de Angular aprendemos que a implementação do componente ou serviço não deve ficar no constructor e sim no método OnInit. O fato é que já não lembro mais o motivo. Por que essa recomendação?
Fala ai Mauricio, tudo bem? Isso é uma boa prática, o construtor a gente geralmente realiza injeção de dependências e inicializações de informação na classe.
Espero ter ajudado.
Mas eu queria saber por que é considerado uma boa prática. Em que isso favorece o código? É só para ficar mais organizado?
Fala Mauricio, é uma boa prática por conta do momento de execução dessa função, o construtor é chamado assim que a gente instância o componente, mas, isso não quer dizer que ele foi renderizado, atualizado, montado, iniciado, etc...
Sendo assim, pode ser que seja necessário a gente querer ter acesso a alguma injeção de dependência para disparar serviços, ou coisas do tipo, por isso no construtor a gente faz a injeção para que quando chegue o momento de executar o onInit as dependências já estão prontas.
Além de ser estranho realizar algo que não seja injeção ou inicialização no construtor (entrando um poucos em conceitos de orientação à objetos).
Espero ter ajudado.
Agora sim. Ajudou. Dúvida resolvida.
Boa Mauricio, sempre que precisar não deixe de criar suas dúvidas.
Abraços e bons estudos.