会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 深入Redux--Redux原理及应用三大原则!

深入Redux--Redux原理及应用三大原则

时间:2025-11-04 23:32:28 来源:益强数据堂 作者:应用开发 阅读:154次

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()等不纯的方法,因为每次会得到不一样的结果 

作者:高兴88

链接:https://juejin.im/post/6868103822271758344

来源:掘金

(责任编辑:IT科技)

推荐内容
  • 电脑系统错误修复失败的原因及解决方法(探索系统错误修复失败的常见原因和有效解决方案)
  • windows 7系统如何显示隐藏文件的具体操作步骤
  • windows 7系统假死机现象的解决技巧(整理)
  • windows 7如何恢复IE9桌面图标方法
  • 手机信号满格却无法连接网络的解决方法(遇到手机信号满格但无法上网的情况?试试这些方法!)
  • windows 7记事本中快速添加当前时间小技巧