我不明白“发送”内置操作的含义和用法。你可以在这里看到https://codesandbox.io/embed/7467qk4rox一个非常简单的例子,一台机器有两个并行的状态节点;第二个使用 send 内置动作发送事件,但这个动作似乎没有被捕获,在第一个状态节点中也没有,在第二个状态节点中也没有。
你能帮忙吗?
我不明白“发送”内置操作的含义和用法。你可以在这里看到https://codesandbox.io/embed/7467qk4rox一个非常简单的例子,一台机器有两个并行的状态节点;第二个使用 send 内置动作发送事件,但这个动作似乎没有被捕获,在第一个状态节点中也没有,在第二个状态节点中也没有。
你能帮忙吗?
您可以通过具体说明您的目标来解决这个问题,这里是对文档的参考。
这就是您的示例在目标修改后的样子:
const machine = Machine({
id: "myMachine",
type: "parallel",
states: {...},
on: {
THREE_KEY: {
target: ['A.A1', 'B']
}
}
});
我还分叉了您的沙箱,并添加了一个工作示例,这样当按下“3”键时,“THREE_KEY”将针对 A.A1 和 B。
由于您在不同状态之间发送事件,您可能还对新添加的演员模型感兴趣,您可以在此处的文档中阅读更多相关信息。
我认为我可以在这里添加的另一个重要点是关于您在操作中使用“发送”,请参阅文档的这一部分,其中解释了:
send(...) 函数是一个动作创建者;它是一个纯函数,只返回一个动作对象,并不强制发送事件。