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 に答える