Управление состоянием

Состояние — это данные, от которых зависит то, что видит пользователь. Управление состоянием сводится к простому циклу: данные изменились — интерфейс перерисовался.

Виджеты читают значения из переменных состояния. Меняется переменная — меняется и то, что нарисовано на экране.

Переменные состояния

Во FlutterFlow их несколько видов, и различаются они областью видимости:

Обзор состояния приложения

App State доступно на всех страницах, Component State живёт внутри компонента, Page State — общее для виджетов одной страницы
  • Переменная состояния — обычная переменная: у неё есть имя и тип данных.
  • При создании ей задаётся начальное значение.
  • Дальше её значение подставляется в свойства виджетов — как и любую другую переменную.
  • Меняется она действием Update State Variable.

Создание

Отдельный случай — состояния виджетов: их не создают вручную, FlutterFlow сам открывает их, когда на странице появляется виджет формы.

Обновление

:::tip[Видеоразбор] Про управление состоянием есть отдельный ролик:

:::

Действие Rebuild

Действие Rebuild перерисовывает страницу или компонент. Оно нужно там, где данные изменились в обход обычного цикла обновления: после вызова API, записи в базу, собственного действия или метода класса, который поменял внутреннее состояние.

Варианты зависят от того, где действие вызвано:

  • Rebuild Current Page — на странице; перерисовывает её целиком.
  • Rebuild Current Component — в компоненте; перерисовывает только его.
    • Rebuild Containing Page — тоже из компонента, но перерисовывает страницу, в которой он лежит. Пример: кнопка «Confirm» в диалоге меняет статус заказа — родительская страница со списком заказов должна показать новый статус сразу.

rebuild

перевод официальной документации FlutterFlow

обновлено

ESC