参考文档:redux-thunk的原理解析
个人理解:
1、首先了解redux的中间件原理
const store = createStore(reducer, applyMiddleware(thunk))
在createStore的时候,如果应用了中间件,那么store的属性dispatch、getState可能会被重写
而在redux-thunk中,dispatch就被重写了
2、redux-thunk
1 | function createThunkMiddleware(extraArgument) { |
应用了redux-thunk后,dispatch变成了一个可以传function参数的dispatch,当遇到action为function时,执行该function的action,如果是正常的action,则执行dispatch
1 | dispatch=function(store.dispatch){ |