Класс
-
InheritedWidget: это базовый класс для виджетов, который предоставляет механизм совместного использования данных в дереве виджетов. Вы можете расширить этот класс, чтобы создать свой собственный InheritedWidget. -
BuildContext: это важный параметр в методах InheritedWidget, напримерinheritFromWidgetOfExactType, который позволяет вам получить доступ к ближайшему экземпляру InheritedWidget в виджете. дерево. -
updateShouldNotify: этот метод реализован в подклассе InheritedWidget. Он определяет, должен ли виджет уведомлять свои зависимые элементы при изменении хранящихся в нем данных. Для принятия решения он сравнивает старый и новый экземпляры InheritedWidget. -
of: методofиспользуется для получения ближайшего экземпляра InheritedWidget из заданногоBuildContext. Обычно он используется для доступа к общим данным, хранящимся в InheritedWidget. -
dependentOnInheritedWidgetOfExactType: этот метод используется для регистрации зависимости от InheritedWidget. Это гарантирует, что виджет будет перестроен при каждом изменении соответствующего InheritedWidget. -
Дерево InheritedWidget: InheritedWidgets организованы в виде древовидной структуры, в которой данные передаются сверху вниз. Изменения в данных распространяются вниз по дереву, и виджеты могут получать доступ к данным с помощью метода
of. -
InheritedModel: InheritedModel — это расширение концепции InheritedWidget, которое обеспечивает более детальный контроль над тем, какие виджеты обновляются при изменении данных. Он предоставляет возможность фильтровать зависимости и оптимизировать перестройку виджетов.
-
Оптимизация производительности: InheritedWidget предназначен для эффективного распространения изменений данных без перестройки всего дерева виджетов. Он использует механизм элементов и деревьев элементов для достижения эффективных обновлений.