redux执行流程
创始人
2025-01-09 14:35:35
0
  1. Store

    • 定义:存储应用的状态,是一个对象树(object tree)。
    • 作用:整个应用只有一个 Store,作为状态的唯一数据源,保存了应用的所有状态。
    • 特点:Store 是只读的,不能直接修改它的内容;只能通过触发 Action 来间接地修改 Store。
  2. Action

    • 定义:描述发生了什么,是一个普通的 JavaScript 对象。
    • 组成:通常包含一个 type 字段,用来标识 Action 的类型,以及一些额外的数据(payload),来传递变化所需的参数。
    • 例子{ type: 'INCREMENT', payload: 1 }
  3. Reducer

    • 定义:根据 Action 修改并返回新的状态,是一个纯函数。
    • 作用:接收当前的状态和 Action,返回一个新的状态。
    • 特点:Reducer 必须是纯函数,不能改变传入的参数,只能返回新的状态对象。
    • 例子
       javascript 

      复制代码

      function counter(state = 0, action) { switch (action.type) { case 'INCREMENT': return state + action.payload; case 'DECREMENT': return state - action.payload; default: return state; } }

  4. Dispatch

    • 定义:触发 Action 以改变状态。
    • 作用:将 Action 传递给 Store,从而触发 Reducer 执行,最终导致状态的更新。
    • 使用store.dispatch({ type: 'INCREMENT', payload: 1 })
  5. Subscription

    • 定义:监听状态变化,更新 UI。
    • 作用:通过 store.subscribe 注册回调函数,当状态发生变化时,该回调函数会被调用,用于更新 UI 或执行其他副作用操作。
    • 使用const unsubscribe = store.subscribe(() => { /* 更新UI逻辑 */ })
    • 取消订阅:调用 unsubscribe 函数可以取消订阅。

完整流程:

  1. UI 组件触发 dispatch 方法发送 action
  2. dispatchaction 传递给 reducer
  3. reducer 根据 action 类型和当前 state 生成新的 state
  4. store 更新 state,并通知所有订阅者。
  5. 订阅者收到通知,更新 UI。

相关内容

热门资讯

揭秘几款!途游手游辅助脚本平台... 揭秘几款!途游手游辅助脚本平台,小闲川南辅助工具(详细教程开挂辅助神器);打开点击测试直接进入微信(...
透视系统!pokemmo脚本辅... 透视系统!pokemmo脚本辅助下载,如何判断广东雀神挂件的质量,wepoke教程(竟然有挂);无需...
第四讲义!小程序财神十三张脚本... 您好:小程序财神十三张脚本小游戏这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
第九分钟辅助挂!天天微友有辅助... 您好:顺欣茶楼辅助视频这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
今日焦点!皮皮辅助,新道游辅助... 今日焦点!皮皮辅助,新道游辅助器免费版(有挂透视辅助开挂平台);亲,新道游辅助器这款游戏原来确实可以...
透视安卓版!道游互娱透视辅助截... 透视安卓版!道游互娱透视辅助截图,新道游游戏辅助器免费版,必备教程(有挂规律) 了解更多开挂安装加(...
第二模板!广东雀用的是什么智能... 第二模板!广东雀用的是什么智能插件官,新九五辅助(有挂开挂辅助神器);无需打开直接搜索薇:13670...
第三分钟辅助挂!浙江游戏大厅自... 第三分钟辅助挂!浙江游戏大厅自建房间,贵州闲来辅助工具(体悟开挂透视辅助脚本)您好:浙江游戏大厅自建...
实测必看!抚州麻将牌牌局修改器... 实测必看!抚州麻将牌牌局修改器,赣牌圈的隐藏机制(有挂解惑辅助平台) 了解更多开挂安装加(13670...
透视存在!德普之星透视软件免费... 大家好,今天小编来为大家解答德普之星透视软件免费入口官网这个问题咨询软件客服可以免费测试直接加微信(...