Summary
Keywords
Full Transcript
Playlist: Curso Grátis de FLUTTER e DART Completo https://www.youtube.com/playlist?list=PL5EmR7zuTn_aX0pG4oWTyKKQT25Hkq2XG ChangeNotifierProvider ChangeNotifierProvider é o widget que fornece uma instância de um ChangeNotifier para seus descendentes. Vem do pacote do provedor. Nós já sabemos onde colocar ChangeNotifierProvider: acima dos widgets que precisarão acessá-lo. No caso do CartModel, isso significa algum lugar acima do MyCart e do MyCatalog. Você não quer colocar ChangeNotifierProvider acima do necessário (porque você não quer poluir o escopo). Mas no nosso caso, o único widget que está no topo do MyCart e do MyCatalog é o MyApp. content_copy void main () { runApp ( ChangeNotifierProvider ( construtor: (contexto) =MAIOR CartModel (), child: MyApp (), ) ); } Observe que estamos definindo um construtor que criará uma nova instância do CartModel. ChangeNotifierProvider é inteligente o suficiente para não recompilar o CartModel, a menos que seja absolutamente necessário. Ele também chamará automaticamente dispose () no CartModel quando a instância não for mais necessária. Se você quiser fornecer mais de uma classe, você pode usar o MultiProvider: content_copy void main () { runApp ( MultiProvider ( provedores: [ ChangeNotifierProvider (construtor: (contexto) =MAIOR CartModel ()), Provedor (construtor: (contexto) =MAIOR SomeOtherClass ()), ] child: MyApp (), ) ); }
