Использование отправки встроенного действия

Я не понимаю значения и использования встроенного действия "отправить". Вы можете увидеть здесь https://codesandbox.io/embed/7467qk4rox очень простой пример с машиной с двумя параллельными узлами состояния; второй отправляет события, используя встроенное действие send, но это действие, похоже, не перехватывается ни в первом узле состояния, ни во втором.

Можете ли вы помочь?

0 ответов

Вы можете решить эту проблему, указав конкретную цель, вот ссылка на документы.

Вот как будет выглядеть ваш пример с целевыми модификациями:

const machine = Machine({
    id: "myMachine",
    type: "parallel",
    states: {...},
    on: {
        THREE_KEY: {
            target: ['A.A1', 'B']
        }
    }
});

Я также раздвоил вашу песочницу и добавил рабочий пример этого, так что при нажатии клавиши "3" "THREE_KEY" будет нацеливаться на A.A1 и B.

Поскольку вы отправляете события между разными состояниями, вас также может заинтересовать недавно добавленная модель акторов, вы можете узнать больше об этом в документации здесь.

Я думаю, что еще один важный момент, который я могу добавить здесь, касается использования вами "send" в действиях, обратитесь к этому разделу документации, в котором объясняется:

Функция send(...) является создателем действия; это чистая функция, которая возвращает только объект действия и не отправляет событие обязательно.

Другие вопросы по тегам