ChangeNotifier
jest klasą w Flutter, która jest implementacją Listenable
, co oznacza, że może być używana do powiadamiania o zmianach w aplikacji. Klasa ChangeNotifier
jest często używana w połączeniu z ChangeNotifierProvider
, który umożliwia dostęp do obiektu ChangeNotifier
z całej aplikacji poprzez Provider
.
Aby korzystać z ChangeNotifier
, należy stworzyć własną klasę, która dziedziczy po ChangeNotifier
i zaimplementować metodę notifyListeners()
, która jest wywoływana, gdy zmieni się stan obiektu ChangeNotifier
. Możesz również dodać gettery i settery do swoich pól, aby umożliwić odczyt i zapis stanu obiektu.
Przykład:
Copy codeclass Counter with ChangeNotifier {
int _count = 0;
int get count => _count;
void increment() {
_count++;
notifyListeners();
}
}
Możesz użyć ChangeNotifier
w połączeniu z ChangeNotifierProvider
i Consumer
, aby uzyskać dostęp do obiektu ChangeNotifier
z dowolnego miejsca w aplikacji i reagować na zmiany jego stanu.
Przykład:
Copy codeChangeNotifierProvider(
create: (context) => Counter(),
child: MyApp(),
);
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer<Counter>(
builder: (context, counter, child) {
return Text(counter.count.toString());
},
);
}
}
W powyższym przykładzie Consumer
będzie automatycznie reagować na zmiany stanu obiektu Counter
i odświeżać widget Text
, gdy stan obiektu zostanie zaktualizowany.
social media
Let's Be Friends