Список подходов к управлению состоянием

Управление состояниями - сложная тема. Если вам кажется, что на некоторые из ваших вопросов вы не получили ответа, или что подход, описанный на этих страницах, не подходит для ваших случаев использования, то вы, вероятно, правы.

Общий обзор

То, что необходимо изучить перед выбором подхода.

Provider - пакет управления состоянием

Provider – это пакет для управления состояниями, написанный Реми Русле и взятый на вооружение в Google и в сообществе Flutter.

Подробно про Провайдер

Riverpod - плагин для управления состоянием

Ниже перечислены причины, по которым стоит выбрать Riverpod:

  • Он не зависит напрямую от Flutter SDK.

  • Riverpod можно использовать для создания и обеспечения однонаправленного потока данных с классами моделей, которые являются иммутабельными (то есть они не меняются).

  • Riverpod не зависит напрямую от дерева виджетов; его работа похожа на работу локатора служб. Провайдеры объявляются глобально и могут быть использованы в любом месте приложения

  • отлавливает ошибки программирования во время компиляции, а не во время исполнения

  • устраняет вложенность для прослушивания/комбинирования объектов

  • обеспечивает тестируемость кода

  • поддержка автоудаления

  • сравнение предыдущего и нового состояния

  • реализует механизм отмены-повторения (undo-redo)

  • отладка состояния приложения

setState

Низкоуровневый подход для эфемерного состояния конкретного виджета.

Унаследованный виджет и унаследованная модель

Низкоуровневый подход, используемый для связи между предками и потомками в дереве виджетов. Это то, что providerи многие другие подходы используют под капотом.

В следующем видеосеминаре под руководством инструктора рассказывается, как использовать InheritedWidget:

Другие полезные документы включают в себя:

Остальные методы и описания

Last updated