Redux中间件
1、applyMiddleware
import {createStore,applyMiddleware} from 'redux';
import reducers from './reducers';
import Logger from 'redux-logger';
export default createStore(reducers, applyMiddleware(Logger))
2、redux-thunk
- 目的:异步解决方案
- 支持action的写法有对象变为函数
- 可以发送多个dispatch
- 改变action
- 同时会帮我们注入两个参数dispatch和getState
- 在异步操作完成之后再触发dispatch操作
dispatch((dispatch, getState)=>{
// getState可以获取全局的state
dispatch({
type:"START"
})
fetch('/data.json')
.then(res=>res.json())
.then(success=>{
if(success){
dispatch({
type:"FETCH_LIST",
payLoad:success.arr
})
}else{
dispatch({
type:"FETCH_TAIL"
})
}
})
})
3、redux-saga
- 拦截请求
- 解决异步
- 不会改变action
- take 拦截
- takeEvery 每次都拦截
4、redux-thunk