Карточка Middle Управление состоянием обновлено

InheritedWidget

Вопрос

Что такое InheritedWidget и зачем он нужен?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Виджет, который делает данные доступными всем потомкам за O(1) через context.dependOnInheritedWidgetOfExactType. Потомок при этом подписывается, и когда виджет заменяется, а updateShouldNotify возвращает true, зависимые перестраиваются.

Ответ

Виджет, который делает данные доступными всем потомкам за O(1) через context.dependOnInheritedWidgetOfExactType. Потомок при этом подписывается, и когда виджет заменяется, а updateShouldNotify возвращает true, зависимые перестраиваются. Основа Theme, MediaQuery, Provider и Riverpod.

Разбор

InheritedModel позволяет подписаться на часть данных (аспект), так устроены MediaQuery.sizeOf.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме