Использование отправки встроенного действия
Я не понимаю значения и использования встроенного действия "отправить". Вы можете увидеть здесь 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(...) является создателем действия; это чистая функция, которая возвращает только объект действия и не отправляет событие обязательно.