как в машине XState выполнить действие send («EVENT_NAME», {to: «что-то из контекста»})? - PullRequest
0 голосов
/ 01 апреля 2020

Мне нужно отправить событие другому порожденному конечному автомату, его идентификатор у меня есть в виде строки в переменной в контексте. (это не родительский конечный автомат и не дочерний)

Как

context.sendTo = 'B_id'

как сделать send() с параметром из контекста?

и как поместить send('MY_EVENT_NAME', {to: <something from context> }) в секцию MachineOptions actions?


// this does not work...
const myMachineOptions:Partial<MachineOptions<any,any>> = 
{
  actions:{
     mySend: (context, event)=>send('MY_EVENT_NAME', {to: context.sendTo })
  }
}

PS

как в Передать значения при отправке события от одной машины к другой в xState

, но динамически c мне нужно не тело сообщения, а to: part

1 Ответ

0 голосов
/ 12 апреля 2020

после помощи разработчиков XState https://github.com/davidkpiano/xstate/issues/1110

actions {
    actionSendMyEvent: 
             send('MY_EVENT_NAME', { to: context => context.sendTo })
    }

Огромное спасибо разработчикам и сопровождающим XState !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...