2
respostas

InheritedWidget e o ciclo de vida dos widgets

Olá, antes de assistir ao video, eu tinha assistido uns videozinhos do canal de flutter do google e num deles mais recente, fala que o InheritedWidget deve ser instanciado (acho que é isso) dentro do didUpdate, no vídeo o of(context) é chamado direto sem essa função didUpdate, a minha dúvida é, tem que sempre usar os lifecicle e porque utilizar?

Vídeo explicativo [https://www.youtube.com/watch?v=og-vJqLzg2c&t=51s](Google InheritedWidget)

2 respostas

Bom dia Gisele, desculpe a demora.

Bom, eu dei uma olhada no video que você mandou e ele é muito bom e completo! Parabéns por buscar mais conhecimento!

no video, no minuto 4:30 a Teresa explica que o metodo of.(context) não pode ser chamado diretamente no initState(), e deve ser chamado no didUpdate(), didChange() ou no build()

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeIsso é necessário pois no método initState(), não temos um contexto ainda, mas nos outros podemos verificar os contextos em volta.

Na sua duvida, você me perguntou : 'no vídeo o of(context) é chamado direto sem essa função didUpdate'

  • no caso do nosso código, nós criamos o TaskInherited.of(context) dentro do nosso body no initial_screen.dart , dentro de um método build() [esse build() veio quando criamos nosso Widget InitialScreen].

Portanto, estamos de fato, sim, usando um dos métodos explicados no vídeo para utilizar o .of(context) corretamente.

Agora quanto a sua pergunta de 'Tem sempre que usar os lifecicle e porque utilizar?'

Será que você pode reformular sua pergunta? Eu não entendi muito bem, quando você diz lifecicle o que você quer dizer?

Oi, eu tive que parar de fazer os cursos, mas respondendo a pergunta, eu usei o termo errado, é que eu estudei um pouco de react e android e eles usam o Lifecycle, mas o que eu quis dizer, foi usar o initState e esses métodos didUpdateWidget, quando utilizar?

Só confirmando, se usar dentro do build, não precisa se preocupar em chamar no initState ou as outras opções did... É um questionamento que eu faço, porque nem sempre eu consigo, pensar se é porque está dentro de função ou porque determinada função deve ser utilizada.

Eu pergunto, não porque eu acho que esteja errado no curso, mas porque quando eu tento criar do zero, começam a surgir mais dúvidas e tenho feito testes de vagas que exigem um conhecimento maior, então tento entender o básico, mas tem uma cobrança a mais na hora de fazer testes e eu preciso aprender um pouco além, mesmo querendo ir devagar.