React Redux中多个中间件的顺序

Order of multiple middleware in React Redux

如果我有多个中间件(例如 3 个)都捕获一个动作会怎样?它们是否按照商店创建中定义的顺序触发?

createStore(reducer,applyMiddleware(middle1, middle2, middle3));

middle1 会先被触发,然后是 middle2,然后是 middle3? (调用 next() 时) 我可以在特定操作上强制在 middle2 之前调用 middle3 吗?

中间件管道与您传递给 applyMiddleware() 的顺序完全匹配。所以,在那个例子中:

  • 调用 store.dispatch() 将操作传递给 middle
  • middle1调用next(action)时,它转到middle2
  • middle2调用next(action)时,它转到middle3
  • middle3调用next(action)时,它会转到实际存储并执行reducer逻辑

不,您不能在创建商店后重新订购中间件。