Flutter State Management using InheritedWidget for Journal App - No Packages

preview_player
Показать описание
In this Flutter video, you are going to take a look at how to use the InheritedWidget for State Management - No Packages.

• How to use InheritedWidget to pass data from a parent (ancestor) widget to child (descendant) widgets in the widget tree

The Problem:
- Journal app has a mood selector value to be available to all pages.
- All pages need to read selected mood from the parent page.

The Solution:
- Use the InheritedWidget to allow child pages (widgets) to access the parent page selected mood by going up the widget tree.

The InheritedWidget is immutable and allows child widgets to access data (state) above in the widget tree

1. Create a class that extends InheritedWidget
2. Add fields to contain data
3. Add the of() method to access the InheritedWidget from child widgets
4. Add the updateShouldNotify() method to notify (via Flutter framework) widgets to rebuild if the data changed

How it Works:
- InheritedWidget – The InheritedWidget is great to pass data from an ancestor widget to descendent widget. The InheritedWidget is immutable and the data (attributes) are final (cannot change) and the Flutter framework rebuilds the InheritedWidget to refresh with new data.

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

I have been looking at your code. I was wondering, because you said that the state can only be used inside the widget tree (from parent to child || children), can we use the state of the inheritedWidget if it is used with push navigations ( i.e. pressing a button to Navigate to a new Scaffold)? What would be an example of when we couldn't use an InheritedWidget due to it being outside of the scope of the Widget tree? Am I correct in thinking that it can't be used in certain situations? Hopefully I am being clear.

George-oruv