Перейти к основному содержимому

Блоки действий

Блок действий представляет собой набор действий, выполняющих конкретную задачу и повторно используемых в разных частях приложения. Если вы часто выполняете один и тот же набор операций в приложении, может быть полезно создать блок действий. Это позволит разбить сложные действия на более мелкие и управляемые единицы, что упростит их понимание и модификацию в будущем.

Блоки действий имеют разные области видимости, которые определяют их доступность:

Тип блока действийОписаниеОбласть видимости
Блоки действий уровня приложенияДоступны по всему приложению. Вы можете создать блок действий уровня приложения с любой страницы или компонента, и он будет доступен для просмотра или редактирования с любой страницы или компонента.Внутренне блок действий уровня приложения может обращаться только к переменным состояния, доступным в его области видимости (например, переменным состояния приложения).
Блоки действий уровня страницыОграничены страницей, на которой они созданы. Они могут обращаться к переменным состояния, доступным в их области видимости, таким как переменные состояния страницы, а также к переменным более высокого уровня, таким как переменные состояния приложения.Блоки действий уровня страницы могут обращаться к переменным состояния страницы и переменным состояния приложения.
Блоки действий уровня компонентаОграничены компонентом, в котором они созданы. Они могут обращаться к переменным состояния, доступным в их области видимости, таким как переменные состояния компонента, а также к переменным из областей более высокого уровня, таким как переменные состояния страницы и приложения.Блоки действий уровня компонента могут обращаться к переменным состояния компонента, переменным состояния страницы и переменным состояния приложения.
Неподдерживаемые действия в блоках действий

Некоторые действия не поддерживаются и не могут использоваться в блоке действий. По умолчанию эти действия скрыты в редакторе блоков действий. Например, действия в категории Firebase Authentication, Start Periodic Action, Upload Data и другие.

Структура блоков действий

При создании блока действий процесс определения потока аналогичен определению действий. Главное отличие заключается в выборе области видимости и определении входных и выходных значений блока действий.

Выбор области видимости блока действий

Как обсуждалось ранее, блоки действий могут быть уровня приложения, уровня страницы или уровня компонента. Блоки действий уровня приложения можно создавать из свойств действий любого виджета по всему приложению. Однако блоки действий уровня страницы или компонента доступны только на той странице или в том компоненте, где они созданы.

Обычно вы увидите выпадающий список для выбора между уровнями приложения, страницы или компонента. Выберите область видимости в зависимости от сценария использования вашего блока действий.

action-blocks.png

Параметры действий

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

Например, вот небольшая демонстрация, где мы создаем блок действий с входным параметром.

В этом примере мы добавляем товар в список желаемого в приложении электронной коммерции. Предположим, что наш локальный список желаемого сохранен в переменной состояния приложения под названием localWishlist, и у нас есть повторно используемый блок действий под названием addToWishlist, который принимает входной параметр под названием productId и выполняет действия для добавления его в объект localWishlist.

Возвращаемые значения

Часто ваш блок действий может возвращать значение. Например, на странице корзины товаров у нас есть повторно используемый блок действий уровня компонента под названием getTotalCost, который возвращает итоговую стоимость всех товаров. Вы можете определить такой блок действий, который возвращает значение (например, число с плавающей запятой в этом примере) или значение, соответствующее вашему сценарию. Возвращаемое значение можно определить в редакторе потоков действий. Посмотрим на один пример.