0

我不明白“发送”内置操作的含义和用法。你可以在这里看到https://codesandbox.io/embed/7467qk4rox一个非常简单的例子,一台机器有两个并行的状态节点;第二个使用 send 内置动作发送事件,但这个动作似乎没有被捕获,在第一个状态节点中也没有,在第二个状态节点中也没有。

你能帮忙吗?

4

1 回答 1

0

您可以通过具体说明您的目标来解决这个问题,这里是对文档的参考。

这就是您的示例在目标修改后的样子:

const machine = Machine({
    id: "myMachine",
    type: "parallel",
    states: {...},
    on: {
        THREE_KEY: {
            target: ['A.A1', 'B']
        }
    }
});

我还分叉了您的沙箱,并添加了一个工作示例,这样当按下“3”键时,“THREE_KEY”将针对 A.A1 和 B。

由于您在不同状态之间发送事件,您可能还对新添加的演员模型感兴趣,您可以在此处的文档中阅读更多相关信息。

我认为我可以在这里添加的另一个重要点是关于您在操作中使用“发送”,请参阅文档的这一部分,其中解释了:

send(...) 函数是一个动作创建者;它是一个纯函数,只返回一个动作对象,并不强制发送事件。

于 2019-06-08T13:23:03.007 回答