如何在XState机器中执行动作发送('EVENT_NAME',{到:'来自上下文的东西'})?

问题描述 投票:0回答:1

我需要将事件发送到另一个生成的状态机,该状态机的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 })
  }
}

P.S。

就像Pass values when sending events from one machine to another in xState

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

typescript state-machine xstate
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.