Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
140 - ChangeNotifier - Flutter
Play lesson

Curso de FLUTTER e DART - 140 - ChangeNotifier - Flutter

5.0 (1)
8 learners

What you'll learn

This course includes

  • 35.5 hours of video
  • Certificate of completion
  • Access on mobile and TV

Summary

Keywords

Full Transcript

Playlist: Curso Grátis de FLUTTER e DART Completo https://www.youtube.com/playlist?list=PL5EmR7zuTn_aX0pG4oWTyKKQT25Hkq2XG ChangeNotifier O ChangeNotifier é uma classe simples incluída no Flutter SDK, que fornece notificação de alteração aos seus ouvintes. Em outras palavras, se algo é um ChangeNotifier, você pode se inscrever em suas alterações. (É uma forma de Observable, para aqueles familiarizados com o termo.) No provedor, o ChangeNotifier é uma maneira de encapsular o estado do seu aplicativo. Para aplicativos muito simples, você consegue com um único ChangeNotifier. Nas complexas, você terá vários modelos e, portanto, vários ChangeNotifiers. (Você não precisa usar o ChangeNotifier com provedor, mas é uma classe fácil de se trabalhar.) No nosso exemplo de aplicativo de compras, queremos gerenciar o estado do carrinho em um ChangeNotifier. Criamos uma nova classe que a extende, assim: content_copy classe CartModel estende ChangeNotifier {   /// Estado interno e privado do carrinho.   lista final item _items = [];   /// Uma visão inalterável dos itens no carrinho.   UnmodifiableListView Item get items = UnmodifiableListView (_items);   /// O preço total atual de todos os itens (supondo que todos os itens custem US $ 42).   int get totalPrice = _items.length * 42;   /// Adiciona [item] ao carrinho. Esta é a única maneira de modificar o carrinho de fora.   void add (Item item) {     _items.add (item);     // Esta chamada informa aos widgets que estão ouvindo este modelo para reconstruir.     notifyListeners ();   } } O único código que é específico para o ChangeNotifier é a chamada para notifyListeners (). Chame esse método sempre que o modelo mudar de maneira que possa alterar a interface do usuário do seu aplicativo. Tudo o resto no CartModel é o modelo em si e sua lógica de negócios. O ChangeNotifier faz parte do flutter: foundation e não depende de nenhuma classe de nível superior no Flutter. É facilmente testável (você nem precisa usar o teste de widget para isso). Por exemplo, aqui está um teste de unidade simples do CartModel: content_copy teste ('adicionar item aumenta o custo total', () {   carrinho final = CartModel ();   final startingPrice = cart.totalPrice;   cart.addListener (() {     esperar (cart.totalPrice, greaterThan (startingPrice));   });   cart.add (Item ('Dash')); });

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

FAQs

Course Hive
Download CourseHive
Keep learning anywhere