Статья в разработке
Flutter > Dart > dArtist12.09.2021
Flutter Widgets - интересные виджеты Flutter.
Изложенный материал рассчитан на подготовленных разработчиков, обладающих знаниями ООП (объектно-ориентированного программирования),
а также работающих в настроенной среде Flutter и имеющих базовое представление о фреймворке и языке Dart.
InheritedWidget
Виджет, потомки которого могут обращаться к нему, не имея прямой ссылки.
Позволяет эффективно распространять информацию по нижележащему дереву виджетов.
Обратившись к InheritedWidget, потребляющий виджет может зарегистрироваться на автоматическую перестройку,
которая будет происходить при перестройке виджета-предка.
Такой прием позволяет более эффективно организовать обновление UI.
Вместо перестройки огромных кусков приложения в ответ на небольшое изменение состояния,
можно прицельно выбирать лишь те конкретные виджеты, которые необходимо перестроить.
InheritedModel
Расширенная версия InheritedWidget. Дополнение позволяет вводить несколько меток (аспектов) для управления изменениями.
Соответственно изменение - перестройка конкретного дочернего виджета, происходит только в том случае, когда в нем задана метка совпадающая с изменяемым состоянием.
InheritedNotifier
Расширенная версия InheritedWidget. Позволяет организовать взаимодействие с такими классами как ChangeNotifier или ValueNotifier.
Отправляет уведомления о своих изменениях всем подписавшимся на получение уведомлений виджетам.
ChangeNotifier
Виджет, который предоставляет своим слушателям уведомление об изменении своего состояния.
Значит, если какой-либо виджет является потомком ChangeNotifier, то можно подписаться в других виджетах на его изменения.
Удачи в разработке!