[Redux/Mobx] Redux的中间件是什么?你有用过哪些Redux的中间件?

[Redux/Mobx] 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的设计思想是把异步操作单独拆分出来放在一个文件里管理。

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论















主目录

与歌谣一起通关前端面试题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php中json_decode()和json_encode()的使用方法

php中json_decode()和json_encode()的使用方法 json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下1.json_decode() json_decode (PHP 5 > 5.2.0, PECL json > 1.2.0) json_decode — 对 JSON 格式的字符串进行编…

获取我的文档“路径

From: http://blog.csdn.net/chinabinlang/article/details/8637362 方法一:来自网络; CString getMyDoc() // 获取“我的文档”路径 {TCHAR m_lpszDefaultDir[MAX_PATH] {0};TCHAR szDocument[MAX_PATH] {0};memset(m_lpszDefaultDir, 0, _MAX_PATH);LPITEMIDLI…

让您变的更智慧 秘笈145条(上)

钱多钱少,常有就好!人老人少,健康就好!家贫家富,和睦就好。生活其实很简单,过了今天就是明天,重要的每个今天和明天都要智慧快乐得活着。 1. 精神失常的疯子不可怕,可怕的是精神正常…

[Redux/Mobx] 说说redux的优缺点分别是什么?

[Redux/Mobx] 说说redux的优缺点分别是什么? 优点 Redux轻量,生态丰富,可以结合流行的redux-thunk、redux-saga等进行使用Redux的写法比较固定,团队应用中风格比较稳定,提高协作中的可维护性因为Redux中的reducer更新…

Bootstrap(七):CSS--图片

1.基本样式 主要四个样式类: 设置布局 .img-responsive : 可以让图片支持响应式布局,从而让图片在其父元素中更好的缩放; 设置形状 .img-rounded : 设置图片为圆角; 设置形状 .img-circle : 设置图片为圆形…

rtsp摘要认证协议(Response计算方法)

From: http://m.blog.csdn.net/blog/WTBEE/9001859 1. rtsp摘要认证协议流程 RTSP协议,全称Real Time Streaming Protocol,是应用层的协议,它主要实现的功能是传输并控制具有实时特性的媒体流,如音频(Audio…

[Redux/Mobx] Redux和vuex有什么区别?

[Redux/Mobx] Redux和vuex有什么区别? 1:vuex的异步数据不需要使用到中件间,redux需要 2:vuex可以直接commit,action不是必须的,redux是必须的 个人简介 我是歌谣,欢迎和大家一起交流前后端知…

android 带图片的文本框

基本原理 自定义一个IconTextView类继承自TextView,添加iconsrc属性,表示图片。 重新onDraw方法,将图片绘制到textVIew前面,然后将textView右移。 废话不多说了,直接代码就明白。 package com.zb;import android.content.Context;…

【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解

From: http://softbbs.zol.com.cn/1/32_7991.html 每天都能看到有不少网友在回复论坛之前发布的一篇破解WiFi密码的帖子,并伴随各种疑问。今天流云就为大家准备一篇实战型的文章吧,详细图文从思维CDlinux U盘启动到中文设置,如何进行路由SSID…

整理Linux查看系统日志的一些经常使用命令

整理Linux查看系统日志的一些经常使用命令 last-a 把从何处登入系统的主机名称或ip地址&#xff0c;显示在最后一行。-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。-f <记录文件>  指定记录文件。-n <显示列数>或-<显示列数>  设置列出名单的显…

[Redux/Mobx] 在Redux中怎么发起网络请求?

[Redux/Mobx] 在Redux中怎么发起网络请求&#xff1f; 如果单纯的使用Redux&#xff0c;因为redux的actionCreator返回一个plain object&#xff0c;所以不能在actionCreator中发起网络请求&#xff1b;reducer是一个纯函数&#xff0c;不能有副作用&#xff0c;所以也不能有异…

判断整数序列是不是二元查找树的后序遍历结果

题目&#xff1a;输入一个整数数组&#xff0c;判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true&#xff0c;否则返回false。 例如输入5、7、6、9、11、10、8&#xff0c;由于这一整数序列是如下树的后序遍历结果&#xff1a; 8 / \ 6 10 / \ / \ 5 7 9…

iOS 从相机或相册获取图片并裁剪

/load user image - (void)UesrImageClicked { UIActionSheet *sheet; // 判断是否支持相机 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { sheet [[UIActionSheet alloc] initWithTitle:"选择图像" delega…

【EWSA无线路由密码破解工具 中文特别版下载】含教程及字典(弱口令生日特殊符号等)

From: http://softbbs.zol.com.cn/1/32_8011.html Elcomsoft Wireless Security Auditor简称EWSA,是一款极为强悍的路由密码破解工具&#xff0c;支持CPU、GPU调用破解&#xff0c;速度比但CPU破解厉害很多&#xff0c;加上此次分享的EWSA字典下载&#xff0c;可以帮助大家更好…

[Redux/Mobx] 什么是单一数据源?

[Redux/Mobx] 什么是单一数据源&#xff1f; Redux的store.getState只能得到一个数据源&#xff0c;通常这是一个对象&#xff0c;通常这也是React App中的唯一Redux数据源&#xff0c;这个state对象中的属性值通过combineReducer整合了子Reducer返回的state的值 个人简介 …

VMware vSphere简介

vSphere是VMware推出的基于云的新一代数据中心虚拟化套件&#xff0c;提供了虚拟化基础架构、高可用性、集中管理、监控等一整套解决方案 现VMware vSphere 版本为5.0&#xff0c;组件如下&#xff1a; ESXi&#xff1a;物理服务器的虚拟化层&#xff0c;它将处理器、内存、存储…

RESTful API 设计指南 (转)

RESTful API 设计指南 2016-02-23 ImportNew(点击上方公号&#xff0c;可快速关注) 作者&#xff1a;阮一峰 链接&#xff1a;http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序&#xff0c;分为前端和后端两个部分。当前的发展趋势&#xff0c;就是前端设…

find:查找文件或目录

From: http://yhj1065.blog.163.com/blog/static/198002172007111810502948/ 功能说明&#xff1a; find指令可以在系统中查找你想要的任何文件或目录&#xff0c;你可以通过不同的参数来查找你想要的。该指令也是系统管理员最常用、最强大、最方便的查找文件和目录的指令。 基…

[Redux/Mobx] 为什么redux能做到局部渲染呢?

[Redux/Mobx] 为什么redux能做到局部渲染呢&#xff1f; reducer从根往最子级的reducer中间各层总是返回一个新的state&#xff0c;这样的话&#xff0c;就会引起组件的大范围的re-render&#xff0c;但是这是可避免的 合理的利用selector&#xff1a;在connect函数中的第一个…

[zz]Linux操作系统下三种配置环境变量的方法

个人的总结: 设置了/etc/profile 和 ~/.bashrc 之后&#xff0c;使用了source 命令&#xff0c;是可以echo添加的变量&#xff0c;但是用getenv读不出来&#xff0c;然后使用env命令也显示不出来&#xff0c;是因为没有export!! ---------------------------------------------…