在我看来,您可以通过以下一种方式触发动作:
明确
{
...
states: {
foo: {
on: {
BAR: {
actions: "performSomeAction",
target: "bar",
},
},
},
bar: {},
},
...
}
隐式带有“ entry”(进入)
{
...
states: {
foo: {
on: {
BAR: "bar",
}
},
bar: {
entry: "performSomeAction",
},
},
...
}
在什么情况下您会选择一个?
答案 0 :(得分:0)
David Kourshid(xstate的创建者)answered在Spectrum上是这样的:
他们的意思不同。
- 过渡动作的意思是“仅在此过渡上执行此动作”
- 进入/退出操作的意思是“在进入/退出此状态的任何转换中执行此操作”