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。

相关内容

热门资讯

实测交流!wpk辅助实时策略建... 实测交流!wpk辅助实时策略建议(黑科技ai)软件教程(2023已更新)(哔哩哔哩)1、让任何用户在...
黑科技游戏(wepower线上... 黑科技游戏(wepower线上游戏发牌机制规律)外挂透明挂辅助黑科技(透视)一贯有挂(有挂解密)-哔...
黑科技了解(WePoKe)微扑... 黑科技了解(WePoKe)微扑克ai辅助(ai代打)原来有挂(2024已更新)(哔哩哔哩)1、实时微...
信息共享!wpk黑科技软件可信... 信息共享!wpk黑科技软件可信吗(透明挂黑科技)爆料教程(2021已更新)(哔哩哔哩);一、wpk黑...
黑科技美元局(aapoker ... 黑科技美元局(aapoker ai)外挂透明挂辅助黑科技(透视)总是真的有挂(真的有挂)-哔哩哔哩小...
黑科技辅助(WePoKe)德州... 黑科技辅助(WePoKe)德州ai辅助外挂(智能ai)原来真的有挂(2025已更新)(哔哩哔哩)1、...
分享一款!德扑ai决策软件(软... 分享一款!德扑ai决策软件(软件透明挂)技巧教程(2025已更新)(哔哩哔哩)1、每个玩家都可以进行...
黑科技攻略(智星德州菠萝有没有... 黑科技攻略(智星德州菠萝有没有挂)外挂透明挂辅助插件(透视)其实存在有挂(有挂透明挂)-哔哩哔哩;智...
黑科技存在(WePoKe)aa... 黑科技存在(WePoKe)aapoker记牌器(软件透明挂)一贯真的是有挂(2022已更新)(哔哩哔...
我来教教你!微扑克软件的规律(... 我来教教你!微扑克软件的规律(软件透明挂)存在挂教程(2026已更新)(哔哩哔哩);一、微扑克软件的...