Redux中reducer 中为什么每次都要返回新的state!!!

Redux中reducer 中为什么每次都要返回新的state!!!


最近在学习react相关的知识,学习redux的时候遇到看到一个面试题:

如果Redux没返回新的数据会怎样?

这就是要去纠结为什么编写reducer得时候为什么不允许直接修改state,而且要返回新的引用。
事实上我去百度得到的答案全是说:直接返回会导致state修改后页面不刷新,源码中对新旧state做了浅比较。。。
我感觉很奇怪,根据我的想法查看源码什么时候去调用reducer,也就是你想要更改state的时候会发起dispatch(action) 源码如下:
redux->dispatch方法源码
currentReducer在你创建store的时候就直接赋值了,而listeners是得到当前所有的订阅事件(通过subscribe(listener)方法订阅能引起当前组件刷新的方法),然后对listeners遍历调用。不管reducer执行后返回的state是新的引用还是原始引用,在这里其实所有的订阅事件都会被调用,相关组件也会更新。
总的来说我不敢确定是否自己理解有误(如果有请告诉我非常感谢~~)。
根据官方文档的描述感觉更多像是一种默认规则而不是因为UI不刷新所以state才必须返回新引用。
官方文档中的解释:cn.redux.js.org
在这里插入图片描述

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

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

相关文章

Unity悬浮显示提示内容

在编写unity时,需要实现鼠标在某一个按钮上时,就显示其子物体中对应的下拉菜单,为此编写了一个公共类,对于需要悬浮显示的控件均可挂载此类。代码如下: using UnityEngine; using UnityEngine.EventSystems; using Un…

服装行业多模态算法个性化产品定制方案 | 京东云技术团队

一、项目背景 AI赋能服装设计师,设计好看、好穿、好卖的服装 传统服装行业痛点 • 设计师无法准确捕捉市场趋势,抓住中国潮流 • 上新周期长,高库存滞销风险大 • 基本款居多,难以满足消费者个性化需求 解决方案 • GPT数据…

Python数据分析实战-dataframe指定多列去重(附源码和实现效果)

实现功能 Python数据分析实战-利用df.drop_duplicates(subset[,])对dataframe指定多列去重 实现代码 import pandas as pddata{state:[1,1,2,2,1,2,2],pop:[a,b,c,d,b,c,d]} framepd.DataFrame(data)frameframe.drop_duplicates(subset[pop,state]) print(frame) 实现效果 本…

软件测试工程师面试如何描述自动化测试是怎么实现的?

软件测试工程师面试的时候,但凡简历中有透露一点点自己会自动化测试的技能点的描述,都会被面试官问,那你结合你的测试项目说说自动化测试是怎么实现的?一到这里,很多网友,包括我的学生,也都一脸…

8月9日上课内容 nginx负载均衡

负载均衡工作当中用的很多的,也是面试会问的很重要的一个点 负载均衡:通过反向代理来实现(nginx只有反向代理才能做负载均衡) 正向代理的配置方法(用的较少) 反向代理的方式:四层代理与七层代…

vue树形展示插件和一维码插件

1.vue2-org-tree 2.样式修改: .org-tree-container {height: 100%; } .horizontal .org-tree-node-children {padding-left: 70px !important; } .horizontal .org-tree-node-children::before {width: 70px !important; } .org-tree-node-label-inner {cursor: p…

使用chatGPT-4 畅聊量子物理学

与chatGPT深入研究起源、基本概念,以及海森堡、德布罗意、薛定谔、玻尔、爱因斯坦和狄拉克如何得出他们的想法和方程。 1965 年,费曼(左)与朱利安施温格(未显示)和朝永信一郎(右)分享…

C 语言的 ctype.h 头文件

C 语言的 ctype.h 头文件包含了很多字符函数的函数原型, 可以专门用来处理一个字符, 这些函数都以一个字符作为实参. ctype.h 中的字符测试函数如表所示: 这些测试函数返回 0 或 1, 即 false 或 true. ctype.h 中的字符映射函数如表所示: 字符测试函数不会修改原始实参, 只会…

Python入门02

0目录 1.容器操作(序列操作) 2.函数 3.模块 1.容器操作(序列操作) 列表的基本操作 定义一个列表[] 访问列表(打印或者通过下标和索引) 新增元素 Append(在末尾) 指定位置新增元素 Insert 删除&…

Oracle 开发篇+Java通过DRCP访问Oracle数据库

标签:DRCP、Database Resident Connection Pooling、数据库驻留连接池释义:DRCP(全称Database Resident Connection Pooling)数据库驻留连接池(Oracle自己的数据库连接池技术) ★ Oracle开启并配置DRCP sq…

文旅行业苦“黄牛”久矣,消失的门票到底去哪儿了?

今年年初以来,文化与旅游行业强势复苏,明星演唱会、热门景区及文博科技馆成为了“黄牛党”肆虐的重灾区,高价倒卖票、代抢服务等层出不穷,严重扰乱了文旅票务市场秩序。 如何解决黄牛“顽疾”,成为了文旅行业共同关注…

现代C++中的从头开始深度学习【2/8】:张量编程

一、说明 初学者文本:此文本需要入门级编程背景和对机器学习的基本了解。张量是在深度学习算法中表示数据的主要方式。它们广泛用于在算法执行期间实现输入、输出、参数和内部状态。 在这个故事中,我们将学习如何使用特征张量 API 来开发我们的C算法。具…

20230806将ASF格式的视频转换为MP4

20230806将ASF格式的视频转换为MP4 2023/8/6 18:47 缘起,自考中山大学的《计算机网络》,考试《数据库系统原理》的时候找到视频,由于个人的原因,使用字幕更加有学习效率! 由于【重型】的PR2023占用资源较多&#xff0c…

Oracle数据库登录遇到密码临期问题

在oracle数据库中,如果设置了密码的有效期,则会出现密码临期提醒的问题,默认的密码有效期是180天,默认的密码提醒时间是15天(此处缺乏官方文档支撑),在密码临近过期时,如果登录 Orac…

设计模式——单例模式(懒汉和饿汉)

单例模式 一、概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。一个类只能有一个实例在生活中是很常见的,比如打印机程…

Python 如何获取图片中的文字----OCR安装使用

环境: windows10, anaconda3 背景:使用conda install pytesseract 安装失败 解决方法: 从Index of /tesseract (uni-mannheim.de)中下载最新的安装包 https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.1.20230401.exe 点击…

Flutter Dart语言(04)库操作

0 说明 该系列教程主要是为有一定语言基础 C/C的程序员,快速学习一门新语言所采用的方法,属于在C/C基础上扩展新语言的模式。 1 自定义库 & 系统自定义库 引入代码如下所示: import xxx.dart; //自定义库引入,xxx为本…

自动驾驶名词解释

国家标准全文公开系统:https://openstd.samr.gov.cn/bzgk/gb/index GB/T 39263-2020:道路车辆 先进驾驶辅助系统(ADAS) 术语及定义 http://c.gb688.cn/bzgk/gb/showGb?typeonline&hcno10BF00ED36B553FD01605C88DA567824 2020标准缩写全称功能ADAS…

【Linux】冯诺伊曼体系结构|操作系统概念理解

个人主页:🍝在肯德基吃麻辣烫 我的gitee:Linux仓库 个人专栏:Linux专栏 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处 文章目录 前言一、先谈硬件——冯诺依曼体系结构1.什么是冯诺依曼体系结构&am…

「文本隐写」相关会议期刊投稿注意事项

前言:本篇博客总结「文本隐写」研究领域相关会议与期刊的投稿注意事项。 目录 一、会议ACL (The Annual Meeting of the Association for Computational Linguistics)IH&MMSec (The ACM Workshop on Information Hiding, Multimedia and Security)CCS (The ACM …