React-Redux-核心概念

什么是 Redux

  • Redux 是一个管理状态(数据)的容器,提供了可预测的状态管理

什么是可预测的状态管理

  • 数据, 在什么时候,因为什么,发生了什么改变,都是可以控制和追踪的,我们就称之为预测的状态管理

为什么要使用 Redux

  • React 是通过数据驱动界面更新的,React 负责更新界面,而我们负责管理数据
  • 默认情况下我们可以在每个组件中管理自己的状态,但是现在前端应用程序已经变得越来越复杂
  • 状态之间可能存在依赖关系(父子、共享等),一个状态的变化会引起另一个状态的变化
  • 所以当应用程序复杂的时候,状态在什么时候改变,因为什么改变,发生了什么改变,就会变得非常难以控制和追踪
  • 所以当应用程序复杂的时候,我们想很好的管理、维护、追踪、控制状态时,我们就需要使用 Redux

Redux 核心理念

  • 通过 store 来保存数据
  • 通过 action 来修改数据
  • 通过 reducerstoreaction 串联起来
                    -------------
        --------->  | Component |  ---------
       |            -------------           |
       |                                    ↓
-------------       -------------       -------------
|   Store   | <---- |  Reducer  | <---- |  Action   |
-------------       -------------       -------------

例如如下示例:

const initialState = {
   heroes:[
     {name:'鲁班', age:18},
     {name:'虞姬', age:22},
   ]
}

const action = {type:'CHANGE_NAME', playload:{index:0, newName:'黄忠'}}
const action = {type:'CHANGE_AGE', playload:{index:1, newAge:66}}

function reducer(state = initialState, action){
    switch(action.type){
        case: 'CHANGE_NAME':
            // 修改姓名
            return newState;
        case: 'CHANGE_AGE':
             // 修改年龄
            return newState;
    }
}

官方文档: https://www.redux.org.cn/docs/introduction/CoreConcepts.html

posted @   BNTang  阅读(52)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示