3

我需要将事件发送到另一个生成的状态机,它的 ID 作为字符串在上下文中的变量中。(它不是父状态机,也不是子状态机)

喜欢

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 })
  }
}

附言

就像 在 xState 中将事件从一台机器发送到另一台机器时的 Pass 值一样

但我需要动态的不是消息正文,而是to:部分

4

1 回答 1

4

在 XState 开发人员的帮助下https://github.com/davidkpiano/xstate/issues/1110

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

非常感谢 XState 开发人员和维护人员!!!

于 2020-04-12T10:55:26.650 回答