0

考虑以下 FSM:

{
  id: 'my_machine',
  initial: 'foo',
  states: {
    foo: {
      on: { 
        TRIGGER_BAR: 'bar'
      }
    },
    bar: {
      on: {
        TRIGGER_BAR: 'bar'
        TRIGGER_FOO: 'foo'
      }
    }
  }
});

是否可以通过事件再次bar转换?barTRIGGER_BAR

4

1 回答 1

0

绝对地!这些被称为自我转换。

自转换是当状态转换到自身时,它可以退出然后重新进入自身。自转换可以是内部转换,也可以是外部转换。

默认情况下,所有自转换都是外部的,因此它们将退出并再次重新进入。阅读文档以了解如何更改此设置。

在上面的示例中,您可能不想bar再次转换到,因为没有上下文值更新。但是您很可能会创建一个使用assign来改变上下文的操作。

于 2019-11-17T15:17:15.343 回答