中间件概念
什么是中间件
中间件本质是就是一道函数,redux允许我们通过中间件的方式扩展和增强redux的应用,体现在action的处理逻辑上,
加载中间件之后,action会先被中间件处理,中间件在返回给reducer
开发redux的中间件
源码地址:https://github.com/qifutian/learngit/tree/main/redux%E5%8F%8A%E4%B8%AD%E9%97%B4%E4%BB%B6/react-redux-guide
redux的中间件本质是一道函数,并且是函数柯里化的函数
开发中间件的模板代码
export default store => next => action => {
}
store是传过来的store仓库
next是函数的参数,也是一个函数,当中间件逻辑完成后,会调用next,目的是把当前action传给reducer,或是下一个中间件
注册中间件
中间件在开发完成以后资源被注册才能在redux的流程中生效
import {
createStore,applyMiddleware} from 'redux'
import logger from './middlewares/logger'
createStore(reducer,applyMiddleware(logger))
开发的logger作为参数被redux应用
开发中间件的功能,就是在触发action之后,会将对应的信息打印到控制台中
在已有项目中新建middleware文件夹,新建logger.js
export default function (){
return function(next){
return function(action){
}
}
}
或者ES6方式
export default store => next =>{
console.log(action)
console.log(action)
next(action) // 必须调用next,要不然就传递不了action,reducer也接收不到
}
注册中间件
需要redux中的applyMiddleware方法
import {
createStore, applyMiddleware } from "redux";
import RootReducer from "./reducers/root.reducer";
import logger from