首先redux和react-redux的区别是redux在其它框架也能用,而react-redux为react管理数据而生。
import { createStore, applyMiddleware } from 'redux'
//logger插件增强dispatch的功能, 在dispatch时打印日志,得到dispatch之前和之后的state值,以及操作的action
import logger from 'redux-logger'
//thunk插件增强dispatch的功能,在dispatch执行传递给reducer前先执行完成异步操作。
// 判断dispatch接收的参数是什么,如果是对象,直接执行dispatch
// 如果是函数,执行函数,并且将dispatch方法作为参数传递给该函数
import thunk from 'redux-thunk'
/*
createStore的参数:
参数1:reducer
参数2:init state
参数3: 使用的中间件
*/
const store = createStore(reuder, applyMiddleware(thunk, logger));
/*
redux中间件:就是增强dispatch的功能。
let next = store.dispatch;
store.dispatch = function(action){
console.log('执行前的state:', store.getState());
next(action);//dispatch
console.log('执行后的state:', store.getState());
}
*/