Dashboard using `ValueNotifier` and `ValueListenableBuilder`.
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 `ValueNotifier` and `ValueListenableBuilder` to pass data from a parent (ancestor) widget to child (descendant) widgets in the widget tree
State Management with build-in classes, no packages
The Problem:
Dashboard app needs to chart espresso, coffee, and latte consumption
Drawing each bar, the chart needs to refresh independently for performance
The Solution:
Use the `ValueNotifier` and `ValueListenableBuilder` to allow to selectively rebuild individual widgets for performance
ValueNotifier and ValueListenableBuilder
The `ValueNotifier` and `ValueListenableBuilder` allow to selectively rebuild individual widgets for performance
1. Create a class that extends `ValueNotifier`
2. Add fields to contain data defining them as `ValueNotifier`
3. Add methods to modify data and call the `notifyListeners()` method
4. Add the `ValueListenableBuilder` widget in the widget tree to rebuild widgets selectively if the data changed by individual field
How it Works
`ValueNotifier` and `ValueListenableBuilder` - The `ValueNotifier` and `ValueListenableBuilder` allow to selectively rebuild individual widgets for performance. Use fields to contain data defining them as `ValueNotifier`. Use methods to modify data and call the `notifyListeners()` method. Use the `ValueListenableBuilder` widget in the widget tree to rebuild widgets selectively if the data changed by individual field.
GitHub: https://github.com/JediPixels/dashboa...
Twitter: / jedipixels
Looking for Updates: https://JediPixels.dev
Blog Article: https://jedipixels.dev/flutter-state-...
Subscribe: https://www.youtube.com/JediPixels?su...
#flutter #fluttertutorial #dart #flutterdev