当前位置: 首页 > news >正文

React学习day05-Redux-概念、作用、安装、使用、action传参

13、Redux

(1)概念:React中最常用的集中状态管理工具,类似于Vue中的Pinia(Vuex),可以独立于框架运行

(2)作用:通过集中管理的方式管理应用的状态

(3)工具简介

        1)Redux Toolkit(RTK)(官方推荐编写Redux逻辑的编写方式):一套工具的集合集,简化书写方式
        2)react-redux:用来链接Redux和React组件的中间件(redux可以通过它获取状态,react组件可以使用它进行更新状态)

(4)安装配置基础环境

        1)使用CRA创建React项目(npx create-react-app 项目名)

        2)安装配套工具(npm i @reduxjs/toolkit react-redux)

        3)启动项目(npm start)

(5)准备工作

        1)对集中管理的部分单独创建一个store目录
        2)再创建一个modules目录,在内部存储多个store模块
        3)在store目录下准备一个入口文件,组合modules中所有的子模块,并导出store

        

(6)示例

        1)在modules下的子模块store
                ①创建子store仓库

                ②解构出仓库的方法(actionCreater函数)

        

                ③获取reducer

        

                ④按需导出仓库的方法(actionCreater函数)

        

                ⑤导出reducer

        

2)在入口文件
        ①导入子模块reducer

        ②使用configureStore和reducer创建Redux store,该store管理管理应用中名为num的这部分state,并通过分发actions来更新它

        ③导出仓库

3)在src下的index.js中
        ①导入Provider,并使用Provider标签将根组件包裹起来

        ②将react注入store(导入store,并在标签中通过store参数注入)

        4)在src下的App.js中使用store中的数据(通过钩子函数useSelector把store中的数据映射到组件中)

        5)在src下的App.js中修改store中的数据
                ①导入useDispatch函数,生成dispatch函数(作用:提交action对象)

        

               ②导入store仓库的方法

        

                ③通过dispatch使用库方法,提交action对象,修改store中的数据

        

                ④效果:

        初始数据:

        减:

        加:

(7)提交action传参

        1)在子仓库中新增一个方法(或者修改原来的方法)(参数将会附在新增方法action的payload上),解构,导出

        2)使用(在src下的App.js)

        3)效果:

——>


http://www.mrgr.cn/news/19634.html

相关文章:

  • 二叉搜索树【C++】
  • Leetcode Day21组合总和
  • 鸿蒙正则校验无效 - Harmony
  • 如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
  • 开源网安引领AIGC+开发安全,智能防护铸就软件安全新高度
  • CCSI: 用于无数据类别增量学习的持续类别特定印象|文献速递--基于深度学习的医学影像病灶分割
  • VS按F11不进函数调试
  • 在线Ascii码对照表,Ascii转换对照表
  • gradle和maven相比有什么相同点和区别?
  • PIM
  • c++编程(24)——map的模拟实现
  • React、Vue.js 和 Angular主流前端框架介绍与选择指南
  • 如何在算家云搭建Qwen2(智能对话)
  • 模型从 HuggingFace 转存到 ModelScope
  • 蓝牙--关于bta_ag_rfc.cc文件的讲解
  • 项目日志——相关技术补充(1)
  • 【JVM】Java内存分配与回收:深入理解Java内存管理
  • el-table el-table-column表头嵌套循环数据
  • LLaMA-Factory仓基础功能架构及NPU/GPU环境实战演练
  • MySQL进阶篇3 -- 视图、存储过程、触发器