redux 理论

Redux作为JavaScript状态容器,提供了可预测的状态管理方案。它基于单一数据源原则,通过纯函数(Reducer)来更新状态,并借助Action传递数据。Redux支持一致性的应用构建,适用于多种环境,易于测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redux 是JavaScript 状态容器,提供可预测化的状态管理。可以构建一致化的应用,运用于不同的环境(客户端、服务端、原生应用),并且易于测试。

redux 三个基本原则:单一数据、State 是只读、使用纯函数来执行修改(Reducer)。

Action

Action 是把数据从应用传到store 的有效载荷。它是store 数据的唯一来源,一般通过store.dispatch() 将action 传到store。

Reducer

Reducer 指定了应用状态的变化如何响应actions 并发送store的。ps. actions 只是描述了事情发生了这一事实,并没有描述如何更新state。

Action 处理

reducer 是一个纯函数,接收旧的state 和action,返回新的state-- (previousState, action)=>newState。保持reducer 纯净度非常重要,不能做修改传入参数、执行有副作用的操作,如API 请求和路由跳转、调用非纯函数Date.now() 等。

拆分数据处理逻辑combineReducers(),将多个reducer 合并成一个。

Store

store 是它们联系到一起的对象。Store 一下职责:

 

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

let store = createStore(xxx),创建一个store。

数据流

严格的单向数据流是Redux 架构的设计核心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值