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()
Isso é 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?