Flutter State Management using ChangeNotifier and AnimatedBuilder - No Packages

preview_player
Показать описание
Dashboard using `ChangeNotifier` and `AnimatedBuilder`.
State Management by using built-in Flutter classes. No Packages.

What is covered
In this project, you are going to take a look at:
- How to use `ChangeNotifier` and `AnimatedBuilder` to selectively rebuild individual widgets for performance
- State Management with build-in classes, no packages

The Problem:
- Dashboard app needs to chart espresso, coffee, latte and total consumption
- Drawing each section bar, the chart needs to refresh independently for performance

The Solution:
- Use the `ChangeNotifier` and `AnimatedBuilder` to allow to selectively rebuild individual widgets for performance

ChangeNotifier and AnimatedBuilder
The `ChangeNotifier` and `AnimatedBuilder` allow to selectively rebuild individual widgets for performance

1. Create a class that extends `ChangeNotifier`
2. Add fields to contain data
3. Add methods to modify data and call the `notifyListeners()` method
4. Add the `AnimatedBuilder` widget in the widget tree to rebuild widgets selectively if the data changed

How it Works
`ChangeNotifier` and `ValueListenableBuilder` - The `ChangeNotifier` and `AnimatedBuilder` allow to selectively rebuild individual widgets for performance. Use fields to contain data defining them in the `ChangeNotifier`. Use methods to modify data and call the `notifyListeners()` method. Use the `AnimatedBuilder` widget in the widget tree to rebuild widgets selectively if the data changed.

#flutter #fluttertutorial #dart #flutterdev #flutterdeveloper #appdevelopment
Рекомендации по теме
Комментарии
Автор

Thank you for these 3 videos! I have been using BloC and Riverpod but have no idea what is going on in the background. At least with these methods I understand what it is I am doing. Streams next I am assuming? :D Are there any performance differences between Seems like they can all be used interchangeably.

joeyroman
Автор

Nice explanation and interesting research by you. Thank you

prasantkumar