Redux 中间件

本文详细介绍了Redux中间件的概念,解释了中间件如何扩展和增强Redux应用,特别是涉及action处理逻辑。文中通过实例展示了如何开发和注册Redux中间件,包括使用logger中间件打印action信息。接着,讨论了中间件的工作流程,特别是异步执行action的场景,通过redux-thunk和redux-saga两个常用中间件进行了深入讲解。最后,提到了redux-actions中间件,它是用来简化Action和Reducer处理的工具。
摘要由CSDN通过智能技术生成

中间件概念

什么是中间件

中间件本质是就是一道函数,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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值