0

在我看来,您可以通过以下方式之一触发动作:

明确地

{
  ...
  states: {
    foo: {
      on: {
        BAR: {
          actions: "performSomeAction",   
          target: "bar",
        },
      },
    },
    bar: {},
  },
  ...
}

隐含“入口”

{
  ...
  states: {
    foo: {
      on: {
        BAR: "bar",
      }
    },
    bar: {
      entry: "performSomeAction",
    },
  },
  ...
}

在什么情况下你会选择其中一种?

4

1 回答 1

1

David Kourshid(xstate 的创建者)在 Spectrum 上回答了这个问题:

他们的意思不同。

  • 过渡动作的意思是“只在这个过渡上执行这个动作”
  • 进入/退出动作意味着“在进入/退出此状态的任何转换上执行此动作”
于 2019-11-24T00:33:32.807 回答