为什么需要中间件
Action提交后,Reducer会立即计算出State,如果在Dispatch一个Action后,到达Reducer之前需要进行一些其他的操作,这时候就需要用到中间件,在实际工作中你可以使用中间件来进行日志记录、创建崩溃报告,调用异步接口或者路由等等
安装redux-thunk后引入
import { createStore, applyMiddleware, compose } from 'redux'
import reducer from "./reducer"
import thunk from 'redux-thunk'
//window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ 浏览器上redux调试工具
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose
//createStore只能接受两个参数,redux提供了增强函数compose,也可以称作链式函数
const enhancer = composeEnhancers(applyMiddleware(thunk))
const store = createStore(reducer, enhancer)
export default store