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

Действия блоков

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

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

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

Некоторые действия не поддерживаются и не могут использоваться в Действиях блоков. По умолчанию эти действия скрыты в редакторе Действий блоков. Например, действия в категории Аутентификация Firebase, Начать периодическое действие, Загрузить данные и другие.

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

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

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

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

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

action-blocks.png

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

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

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

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

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

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