如果我有多个中间件(例如3个例子)会发生什么事情,所有人都会抓住一个动作?它们是否按照商店创建中定义的顺序触发?
createStore(reducer,applyMiddleware(middle1, middle2, middle3));
middle1将首先触发,然后是middle2,然后是middle3? (当调用next()时) 我可以在mid2之前调用特定的动作中间3吗?
答案 0 :(得分:18)
中间件管道与您传递给applyMiddleware()
的顺序完全匹配。所以,在那个例子中:
store.dispatch()
将操作传递给middle
middle1
拨打next(action)
时,会转到middle2
middle2
拨打next(action)
时,会转到middle3
middle3
调用next(action)
时,它会转到实际商店并执行reducer逻辑不,你不能在创建商店后重新订购中间件。