反应中的多个中间件的顺序 - redux

Nev*_*sis 10 middleware reactjs redux react-redux

如果我有多个中间件(例如3个例子)会发生什么事情,所有人都会抓住一个动作?它们是否按照商店创建中定义的顺序触发?

createStore(reducer,applyMiddleware(middle1, middle2, middle3));
Run Code Online (Sandbox Code Playgroud)

middle1将首先触发,然后是middle2,然后是middle3?(当调用next()时)我可以在中间2之前调用特定操作强制middle3吗?

mar*_*son 21

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

  • 呼叫store.dispatch()将动作传递给middle
  • middle1电话next(action),它去middle2
  • middle2电话next(action),它去middle3
  • middle3调用时next(action),它进入实际存储并执行reducer逻辑

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