redux中间件
import {createStore,applyMiddleware} from 'redux'
import promise from 'redux-promise'
import thunk from 'redux-thunk'
import logger from 'redux-logger'
在createStore(reducer,applyMiddleware(thunk,promise,logger))//logger必须是最后一个参数,前两个参数无顺序限制
那么派发action时 dispatch()方法的参数,如使用thunk中间件,是函数;如使用promise中间件,是promise对象
参数为函数时的写法:
在action.js里
return function(dispatch,getState){//getState参数可以得到现在的状态集合
dispatch({type:''})
}
参数为promise对象的写法:
1,return new Promise((resolve,reject)=>{
resolve({type:,payload:})//dispatch会接收到该对象
reject({type:})//dispatch接收不到reject的
})
2,return {
type:,
payload:new Promise((resolve,reject)=>{
resolve(...)
})
}