本文阅读前要有一定redux基础
redux作为状态管理仓库,在我们前端应用中发挥着非常重要的作用,先放一张官方redux flow图片
使用middleWare背景:我们知道redux中数据流是同步的,不支持异步action更新或获取数据,但是在实际项目中异步请求数据绝对是高频出现,并且可以说占据了9成以上的业务场景(初始数据列表、获取商品信息、添加购物车等等),因此redux中间件诞生了
接下里都是干货啦,着重比较两个中间件的使用方式和区别,直接上代码
redux-thunk异步action示例:
// store.js
import {createStore,applyMiddleware,compose} from 'redux';
import thunk from 'redux-thunk';
import reducers from './reducer.js';
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
// 用到了chrome的redux插件,所以这里用到增强函数compose
export default createStore(reducers,composeEnhancers(applyMiddleware(thunk)));
// 1、利用applyMiddleware使用中间件
// 2、createStore只接受两个参数,所以如果要