複数のミドルウェア(たとえば3つ)があり、すべてが1つのアクションをキャッチしている場合はどうなりますか?ストアの作成で定義された順序でトリガーされますか?
createStore(reducer,applyMiddleware(middle1, middle2, middle3));
middle1が最初にトリガーされ、次にmiddle2、次にmiddle3がトリガーされますか? (next()を呼び出す場合)特定のアクションでmiddle3をmiddle2の前に呼び出すことはできますか?
ミドルウェアパイプラインは、applyMiddleware()
に渡した順序と完全に一致します。したがって、その例では:
store.dispatch()
を呼び出すと、アクションがmiddle
に渡されます。middle1
_がnext(action)
を呼び出すと、_middle2
_に移動します。middle2
_がnext(action)
を呼び出すと、_middle3
_に移動します。middle3
_がnext(action)
を呼び出すと、実際のストアに移動し、レデューサーロジックが実行されます。いいえ、ストアの作成後にミドルウェアを再注文することはできません。