使用发送内置动作

时间:2019-05-09 11:04:11

标签: javascript reactjs xstate

我不了解“发送”内置动作的含义和用法。您可以在https://codesandbox.io/embed/7467qk4rox处看到一个非常简单的示例,该计算机具有两个并行状态节点。第二个事件使用send内置操作发送事件,但是似乎在第一个状态节点和第二个状态节点中都没有捕获到该操作。

可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以通过针对文档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。

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

我认为我可以在这里添加的另一个重要点是您在操作中使用“发送”,请参阅此section of the documentation,它解释了:

  

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