千家信息网

Redux原理及应用三大原则是什么

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,本篇内容介绍了"Redux原理及应用三大原则是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Re
千家信息网最后更新 2025年11月16日Redux原理及应用三大原则是什么

本篇内容介绍了"Redux原理及应用三大原则是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Redux工作原理

Redux通过store来管理全局的状态;

视图产生操作后会生成一个action,通过dispatch(action)这个方法派发给store;

store会将当前的状态和此次的action交给reducer处理,reducer处理后需要返回新的状态,此时store就能得知数据的变化,然后回通知视图获取最新的数据

基本概念和api

Store

Store 就是用来维持应用所有的 state 树 的一个对象。

改变 store 内 state 的惟一途径是对它 dispatch 一个 action。

整个应用只能有一个 Store。

store方法

提供 getState() 方法获取 state; 提供 dispatch(action) 方法更新 state; 通过 subscribe(listener) 注册监听器; 通过 subscribe(listener) 返回的函数注销监听器。

Reducer

reducer其实就是一个纯函数。

它接收两个参数,第一个参数是需要管理的状态state,第二个是action。

reducer会根据传入的action的type值对state进行不同的操作,然后返回一个新的state,而不是在原有state的基础上进行修改,但是如果遇到了未知的(不匹配的)action,就会返回原有的state,不进行任何改变。

const reducer =(state,action)=>{   switch(action.type){     case ADD_TODO:         return newstate;     default return state   } }

Action

action本质是一个对象;

它是 store 数据的唯一来源。它会运送数据到 Store。

const action={   type:'ADD_TODO',   payload:'redux原理' }

应用时的三大原则

在我们使用redux时,需要遵守这三大原则,则可以避免90%的bug:

  • 单一的数据源

我们把Store看成一个全局对象,而这个对象是唯一的,所有的状态都在Store这个状态树中'统一配置'

  • State是只读的

想要改变State必须通过Action,而具体使action在state上更新生效的是reducer;

这样确保了 视图 和 网络请求 都不能直接修改 state,相反它们只能表达想要修改的意图。

  • Reducer必须是一个纯函数

Reducer内部的执行操作必须是无副作用的,不能对state进行直接修改,当状态发生变化时,需要返回一个全新的对象代表新的state。

这样确保了同样的State,必定得到同样的 View。

需要遵守的是:

不得改写参数 不能调用系统 I/O 的API 不能调用Date.now()或者Math.random()等不纯的方法,因为每次会得到不一样的结果

"Redux原理及应用三大原则是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

状态 应用 对象 数据 方法 三大 原则 原理 函数 参数 视图 全局 内容 就是 更多 监听器 知识 变化 处理 更新 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 农业银行软件开发王钊 通信网络安全专家个人事迹新闻 光纤 建服务器 软件开发合同纠纷 案例 网络安全认证体系 网络安全法从哪日 数据库软件使用视频教程 服务器维修工具 数据库备份bak 广州天象网络技术培训有限公司 中央新闻网络安全保卫中心 修改redis数据库表指令 苏州软件开发需要多少资金 谷歌地球的app连不上服务器 网络安全手抄报图片头像女温柔 明日之后服务器线路大全 软件开发版本后缀demo 安卓手机用什么软件开发 云内动力网络安全等保三级 软件开发岗位分析策划 河南时代网络技术分类资费 用什么软件开发ios 网络安全课堂游戏设计免费百度 百度地图上的数据库是干什么的 怎么在服务器里面弄到顶级钻石剑 广州人工智能软件开发公司 明日之后服务器线路大全 数据库实训的收获 维护网络安全感知网络安全 网络安全里面的人工智能
0