代码之家  ›  专栏  ›  技术社区  ›  Nevosis

React-Redux中多个中间件的顺序

  •  14
  • Nevosis  · 技术社区  · 8 年前

    如果我有多个中间件(比如说3个),所有中间件都捕获一个动作,会发生什么?它们是否按照商店创建中定义的顺序触发?

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

    首先触发middle1,然后触发middle2,然后触发middle3?(调用next()时) 我可以在middle2之前调用middle3吗?

    1 回复  |  直到 6 年前
        1
  •  29
  •   markerikson    8 年前

    中间件管道与您传递给的顺序完全匹配 applyMiddleware() . 在这个例子中:

    • 使命感 store.dispatch() 将操作传递给 middle
    • 什么时候 middle1 电话 next(action) ,它将转到 middle2
    • 什么时候 中间2 电话 下一步(操作) ,它将转到 middle3
    • 什么时候 中间3 下一步(操作) ,它进入实际存储并执行减速机逻辑

    不,您不能在创建存储后重新排序中间件。