在实现小栗子中console控制台报错了,提示acton只能处理对象,需要中间件处理异步操作,那么什么是redux中间件?
一、为什么需要中间件?
因为reducers是纯函数,只有计算state功能,不能进行读写操作,actions,消息的载体,只能被操作。
中间件是重定义了store.dispatch()
,改造并添加了其他功能。
二、使用中间件
// index.js
import { createStore, applyMiddleware } from 'redux';
import reducer from './reducers/index'
import thunk from 'redux-thunk';
// applyMiddleware(thunk) 中间件处理异步
const store = createStore(reducer, applyMiddleware(thunk))
1.applyMiddleware
redux方法,作用是将中间件组成数组,执行。
2.redux-thunk中间件
解决异步操作的,改造store.dispatch()
可以接受函数