当前位置: 首页 > 面试题库 >

Redux的中间件是什么?你有用过哪些Redux的中间件?

佴飞驰
2023-03-14
本文向大家介绍Redux的中间件是什么?你有用过哪些Redux的中间件?相关面试题,主要包含被问及Redux的中间件是什么?你有用过哪些Redux的中间件?时的应答技巧和注意事项,需要的朋友参考一下

view在redux中会派发一个action,action通过store的dispatch方法派发给store,store接收到action连同之前老的state一起传给reducer,reducer返回新的数据给store,store去改变自己的state,这是redux的流程。

redux中间件的中间指的是action和store之间,之前在redux中action只能返回一个对象,所以action返回的一个对象会直接派发给store,现在使用redux-thunk之后action可以返回一个函数了,action通过dispatch方法被传递给store,那么action和store之间就是dispatch这个方法

实际上中间件就是对dispatch方法的一个封装或者说对dispatch方法的一个升级,最原始的dispatch方法接收到一个对象之后会把这个对象传递给store。

当把dispatch做了升级之后,比如说使用了redux-thunk 这个中间件,这个时候当调用dispatch方法给dispatch方法传递的参数是一个对象的话,那么dispatch就会把这个对象直接传递给store,跟之前我们写dispatch传递给它一个对象没什么区别,但是如果传递给dispatch方法是一个函数的话,这个时候dispatch已经升级了,它就不会把这个函数直接传递给store,它会先让这个函数执行,执行完了之后需要调用store的时候再去调用store。所以dispatch在这里会根据参数的不同执行不同的事情。

所以redux的中间件就是对store的dispatch做了个升级,升级之后dispatch就可以对象和函数都可以接收了。

当然中间件不止redux-thunk 这一个,实际上redux的中间件很多,比如redux-logger,redux-saga。redux-saga也是解决redux中异步问题的中间件,redux-thunk是把异步操作放在action里操作,而redux-saga的设计思想是把异步操作单独拆分出来放在一个文件里管理。

 类似资料:
  • 本文向大家介绍你有使用过redux-saga中间件吗?它是干什么的?相关面试题,主要包含被问及你有使用过redux-saga中间件吗?它是干什么的?时的应答技巧和注意事项,需要的朋友参考一下 redux-saga 就是用来处理副作用(例如:AJAX请求)的一个中间件,使用Generator 函数

  • 本文向大家介绍redux中间件相关面试题,主要包含被问及redux中间件时的应答技巧和注意事项,需要的朋友参考一下 中间件提供第三方插件的模式,自定义拦截action一> reducer的过程。变为action一〉 middlewares 一> reducer。这种机制可以让我们改变数据流,实现如异步action, action过滤,日志输出,异常报告等功能。 常见的中间件: redux一logg

  • 本文向大家介绍在Node项目中你有使用过哪些常用的中间件?相关面试题,主要包含被问及在Node项目中你有使用过哪些常用的中间件?时的应答技巧和注意事项,需要的朋友参考一下 config-lite: 读取配置文件 express-session: session 中间件 connect-mongo: 将 session 持久化存储于 mongodb,结合 express-session 使用 con

  • 问题内容: 我正在阅读react-redux上的API并查看Redux的github示例之一:Redux todo应用 其中一个容器具有(和)接受两个参数,其中一个是ownprops。 API文档说: “如果您的mapStateToProps函数声明为带有两个参数,则它将以存储状态作为第一个参数,并将传递给连接组件的props作为第二个参数来调用,并且只要连接的组件收到新的参数,就会重新调用通过浅

  • 问题内容: 我正在使用redux和react。这使得调度可以作为组件中的道具使用。因此,当我在调度键下的日志中看到以下对象时。 有人可以解释一下这是什么吗? 问题答案: 是Chrome开发者工具在C ++ 中(在源中)在内部添加和使用的私有属性。它显示了函数范围内的变量,即可以从该函数访问哪些变量。 例如: 在这里,附加到属性的函数在其范围内具有变量,因此当我们检查属性时,我们会看到类似 您可以在

  • 问题内容: 我正在使用React + Flux。我们的团队计划从助焊剂转变为还原剂。Redux对于来自助焊剂世界的我非常困惑。在 磁通控制中, 从 **组件- 操作->存储和存储更新返回组件 很** 简单。它很简单,也很清楚。 但在redux中令人困惑。这里没有商店,是的,有些例子没有使用商店。我经历了一些教程,看来每个人都有自己的实现风格。有些正在使用容器,有些则没有。(我不知道这个Contai