Consumindo uma Classe ChangeNotifier - AlvaroVasconcelos/modular GitHub Wiki
Exemplo de uma classe ChangeNotifier:
import 'package:flutter/material.dart';
class Counter extends ChangeNotifier {
int counter = 0;
increment() {
counter++;
notifyListeners();
}
}você pode usar o Consumer para gerenciar o estado de um bloco de widget.
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Home"),
),
body: Center(
//reconhece a classe ChangeNotifier e reconstroi quando é chamado o notifyListeners()
child: Consumer<Counter>(
builder: (context, value) {
return Text('Counter ${value.counter}');
}
),
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {
//recuperando a classe diretamente e executando o método de incrementação
get<Counter>().increment();
},
),
);
}
}