Передача данных между страницами

Рано или поздно данные нужно передать с одного экрана на другой: пользователь нажал на товар в списке — на карточке товара должны появиться его данные.

Параметры страницы

За это отвечают параметры. При переходе вы передаёте на целевую страницу значения, которые её настраивают: идентификатор пользователя для профиля, выбранный товар для карточки.

Как создать параметр:

Флажок Required делает параметр обязательным: без значения FlutterFlow сообщит об ошибке. Для необязательного параметра его нужно снять.

Поле Default Parameter Value задаёт значение на случай, когда пришло пустое или null. Заполнять необязательно, но полезно.

Page-Params.png

Если обязательный параметр добавлен уже после того, как на предыдущей странице настроен переход, FlutterFlow подсветит ошибку: значение не передаётся. Исправляется так:

инфо

Передачу данных видно только в режимах Run и Test — в Preview Mode она не работает.

Когда нужны параметры

Параметры передают то, что нужно конкретному экрану здесь и сейчас и не должно лежать в глобальном состоянии приложения:

  • Контекст. Что именно показывать: идентификатор товара, заказа или профиля, выбранного на предыдущем экране.

  • Настройки отображения. Фильтр или порядок сортировки, выбранный в списке и применяемый на странице результатов.

  • Значения для расчётов. Количество, даты и прочее, что понадобится следующей странице для вычислений или запуска операции.

Разница с состоянием приложения простая: состояние живёт, пока живёт приложение, а параметр — только пока открыт экран, которому он передан.

Какие типы можно передавать

Через параметр передаётся любой поддерживаемый тип: параметр — это, по сути, переменная, в которую положили значение при переходе.

инфо

При работе с Firestore чаще всего передают Document — саму запись из коллекции — или Document Reference, ссылку на неё.


Видеоразбор

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

обновлено

ESC