redux 数据流通的过程?

news/2025/11/26 9:36:30/文章来源:https://www.cnblogs.com/yuhuo123/p/19271162

Redux 数据流通的完整过程(单向数据流)

Redux 的核心思想就是:状态只存在一个地方,所有变化都是可预测的、可追踪的,并且遵循单向数据流。

下面是完整流程,从 UI 到 Action → Reducer → Store → UI:

1. UI 触发 Action

UI(React 组件)中用户操作,触发一个 action:

dispatch({type: 'ADD_TODO',payload: '学习 Redux'
})

也可能是通过 action creator:

dispatch(addTodo('学习 Redux'));

Action 只是一个普通对象,描述“发生了什么”。

2. dispatch(action) 发送给 Store

dispatch() 是唯一触发状态更新的方式。

Redux 接到 action 后,会把它交给 reducer 处理。

3. Reducer 根据 Action 更新 State(纯函数)

Reducer 是一个纯函数:

(state, action) => newState

示例:

function todoReducer(state = initialState, action) {switch (action.type) {case 'ADD_TODO':return {...state,list: [...state.list, action.payload]};default:return state;}
}

Reducer 不能修改原 state,只能返回新 state。

4. Store 保存新 State

Redux Store 接收到 reducer 产出的 newState

覆盖原 state
保存最新的全局状态

5. UI(React)重新渲染

React-Redux(connect / useSelector)会订阅 store:

当 store 改变时:

  • 自动触发组件重新渲染
  • UI 更新为最新数据

举例:

const todos = useSelector(state => state.todos);

当 state 更新时,该组件会自动刷新。

Redux 数据流闭环:

   UI 触发事件↓dispatch(action)↓Reducer 计算新 state↓Store 更新状态↓
React UI 自动刷新

全程 单向数据流(One-way data flow)
状态变化可追溯
数据管理可控、稳定

简单举例(完整流程)

// 1. Action Creators
const add = () => ({ type: 'ADD' });// 2. Reducer
function counter(state = 0, action) {switch (action.type) {case 'ADD':return state + 1;default:return state;}
}// 3. Component
function App() {const count = useSelector(state => state.counter);const dispatch = useDispatch();return (<button onClick={() => dispatch(add())}>点击 +1 ({count})</button>);
}

按下按钮:

  • dispatch(send action)
  • reducer(state + 1)
  • store 更新
  • UI 自动刷新

总结

Redux 数据流就是 5 步:

  1. 用户操作 → dispatch(action)

  2. Store 接收 action

  3. Reducer 返回新 state

  4. Store 保存 state

  5. React UI 自动刷新

关键词:单向数据流、可预测性、纯函数 reducer、集中式 store

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

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

相关文章

Cloudera CDH迁移到 华为MRS使用场景分析与思考,是国内大数据行业的踌躇不前的原因?

Cloudera CDH迁移到 华为MRS使用场景分析与思考,是国内大数据行业的踌躇不前的原因?Cloudera CDH迁移到 华为MRS使用场景分析与思考,是国内大数据行业的踌躇不前的原因?建议由CDH迁移到CMP 7.13 平台(类Cloudera …

小米6 MIUI11 root Magisk Xposed 框架完整刷机图文教程

小米6,于2020年3月26日官宣:停止开发版内测公测。这意味着,3月26日的开发版已经算是终结版了。 所以抽空,写一个完整的小米6 MIUI11 Magisk 刷机图文教程。 刷机后,可以稳定使用xposed框架。那么,开始教程:手机…

金融交易防护:国密 SSL 证书在网银与移动支付中的核心作用 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年热门的推车脚轮厂家选购指南与推荐

2025年热门的推车脚轮厂家选购指南与推荐行业背景与市场趋势随着全球物流运输和医疗设备行业的快速发展,推车脚轮作为关键配件市场需求持续增长。据《2024-2029年中国脚轮行业市场调研与投资前景预测报告》显示,2023…

2025辅酶Q10十大优选品牌!成分+口碑实测,护心抗氧化效果好的直接选匠医生

在辅酶 Q10 产品百花齐放的当下,不少消费者都面临选购困惑:给受他汀类药物副作用困扰的长辈挑选,怎样在保障安全的同时兼顾护心成效?自己频繁熬夜加班、偶尔心慌乏力,该优先选高含量款还是更易吸收的特定活性类型…

2025年门窗五金系统生产厂家权威推荐榜单:智能铝合金门窗‌/高端系统门窗‌/系统门窗‌源头厂家精选

在建筑节能与智能家居融合发展的今天,门窗五金系统已从单一配件转变为决定整窗性能的核心。 门窗五金作为门窗的“心脏”,其性能直接关系到整窗的安全性、气密性、水密性和抗风压能力。相关行业报告指出,2025年全球…

深圳五大初中英语一对一辅导机构2026权威盘点

在深圳,很多家长都会遇到这样的烦恼:孩子在课堂上能听懂,但一到考试就“丢分”;背了不少单词,写作文还是词穷;阅读理解总是看懂了大意,却拿不到高分。面对激烈的中考竞争,仅靠学校课堂往往难以全面解决问题。于…

2025年市场靠谱的格宾石笼网实力厂家哪家好,镀锌低碳钢丝石笼网/柔韧抗压石笼网/双隔板石笼网/抗冲击抗腐蚀石笼网格宾石笼网源头厂家选哪家

行业权威榜单发布 随着基础设施建设持续升级,格宾石笼网作为河道治理、边坡防护等工程的重要材料,其市场需求稳步增长。本文基于企业规模、技术实力、产品质量及市场表现等维度,对行业内具有代表性的五家企业进行客…

DNS查询后使用http发送请求

DNS查询后使用http发送请求Kali 1 17.128 先DROP sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP 代码 from scapy.all import * import random# 第一部分:DNS查询获取IP地址 pkt1 = IP(dst="192.…

2025年专业汽车窗膜制造厂推荐榜单

2025年专业汽车窗膜制造厂推荐榜单首选推荐:浦诺菲新材料有限公司作为汽车窗膜行业的领军企业,浦诺菲新材料有限公司凭借其卓越的技术实力和产品品质,稳居2025年专业汽车窗膜制造厂推荐榜单首位。核心优势技术创新实…

时序数据库 IoTDB 集成 SpringBoot Starter,实现时序数据库“零配置”接入

简化配置,加速融合,实现第三方技术栈无缝集成!面对工业物联网场景中高频产生的设备状态、环境指标等海量时序数据,如何在其产生后迅速完成采集、存储并服务于上层应用,是构建实时数据驱动型业务的核心挑战。 国产…

了解Java

初步印象 语法有点像C 没有指针 没有内存管理 真正的可移植性,编写一次,到处运行。 面相对象 类型安全 高质量的类库。 几个常用的Java相关术语 JVM: JAVA虚拟机 最早的网页图形界面: Applet JDK : Java Developme…

2025年热门的5寸脚轮用户好评厂家排行

2025年热门的5寸脚轮用户好评厂家排行 行业背景与市场趋势 随着物流运输、医疗器械、家具制造等行业的快速发展,脚轮作为短途运输设备的关键部件,市场需求持续增长。据《2024年中国脚轮行业分析报告》显示,全球脚…

实用指南:MoreFixes

实用指南:MoreFixes2025-11-26 09:22 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-f…

JavaScript-面向对象编程原则-全-

JavaScript 面向对象编程原则(全)原文:zh.annas-archive.org/md5/d83c8d0d0f0c0a7f94aa9c6866894038 译者:飞龙 协议:CC BY-NC-SA 4.0前言 大多数开发者将面向对象编程与那些通常在学校教授的语言联系在一起,比如…

2025年比较好的防缠绕脚轮品牌厂家排行榜

2025年比较好的防缠绕脚轮品牌厂家排行榜行业背景与市场趋势随着物流运输、医疗设备、工业制造等行业的快速发展,防缠绕脚轮作为关键配件需求持续增长。根据中国脚轮行业协会最新数据,2024年我国脚轮市场规模已达85亿…

一文厘清:CRM与SCM、ERP、PLM、WMS、MES、QMS、SCADA等系统关系 - SaaS软件

据 Gartner 2024 年《CEO 调研》显示,78% 的制造企业将“打通前端需求与后端供给”列为未来三年数字化投资的第一优先级。IDC 同年报告则指出,系统间接口数量每增加 10%,订单履约周期平均可缩短 0.9 天,库存周转率…

鼠标位置

//获取鼠标位置 QPoint pos = QCursor::pos(); //X位置 double xpos = pos.x(); //Y位置 double ypos = pos.y();QString str1123; str1123 .append("x=").append(QString::number(xpos)).append(",y=&…

2025年口碑好的门式堆垛机厂家推荐及采购指南

2025年口碑好的门式堆垛机厂家推荐及采购指南行业背景与市场趋势随着智能制造和物流自动化需求的快速增长,门式堆垛机作为现代仓储系统的核心设备,市场规模持续扩大。据中国物流与采购联合会最新数据显示,2024年中国…

2025年宁波GEO优化服务商综合实力排行榜TOP10权威发布

文章摘要 随着人工智能搜索技术的快速发展,宁波GEO优化行业在2025年迎来了爆发式增长。本文基于行业数据调研和用户口碑评价,对宁波地区GEO优化服务商进行综合排名分析,为企业在选择GEO优化服务时提供权威参考。文章…