使用发送内置操作
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.
我不明白 "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.