参考文档: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){  |