使用发送内置操作

Using send built-in action

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

你能帮忙吗?

您可以通过具体说明您的目标来解决此问题,here is a reference 到文档。

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

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

我还分叉了你的沙盒,并添加了一个这样的工作示例,这样当按下键“3”时,"THREE_KEY" 将指向 A.A1 和 B。

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

我想我可以在这里补充的另一个重点是关于你在动作中使用 "send",参考这个 section of the documentation 解释:

The send(...) function is an action creator; it is a pure function that only returns an action object and does not imperatively send an event.