位置: IT常识 - 正文

Redux工具包(一) - Redux Toolkit的基本使用(redux-tookit)

编辑:rootadmin
Redux工具包(一) - Redux Toolkit的基本使用 文章目录Redux工具包的使用Redux Toolkit介绍Redux Toolkit基本使用Redux工具包的使用Redux Toolkit介绍

推荐整理分享Redux工具包(一) - Redux Toolkit的基本使用(redux-tookit),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:redux的使用流程,redux-tookit,redux/toolkit,redux-toolkit,redux tooltik,redux tool,redux-tookit,redux-toolkit,内容如对您有帮助,希望把文章链接给更多的朋友!

Redux Toolkit 是官方推荐的编写 Redux 逻辑的方法。

在前面我们学习Redux的时候应该已经发现,redux的编写逻辑过于的繁琐和麻烦。

并且代码通常分拆在多个文件中(虽然也可以放到一个文件管理,但是代码量过多,不利于管理);

Redux Toolkit包旨在成为编写Redux逻辑的标准方式,从而解决上面提到的问题;

在很多地方为了称呼方便,也将之称为“RTK”;

安装Redux Toolkit:npm install @reduxjs/toolkit react-redux

Redux Toolkit的核心API主要是如下几个:

configureStore: 包装createStore以提供简化的配置选项和良好的默认值。它可以自动组合你的 slice reducer,添加你提供 的任何 Redux 中间件,redux-thunk默认包含,并启用 Redux DevTools Extension。

createSlice: 接受reducer函数的对象、切片名称和初始状态值,并自动生成切片reducer,并带有相应的actions。

createAsyncThunk: 接受一个动作类型字符串和一个返回承诺的函数,并生成一个pending/fulfilled/rejected基于该承诺分 派动作类型的 thunk

Redux Toolkit基本使用Redux工具包(一) - Redux Toolkit的基本使用(redux-tookit)

configureStore用于创建store对象,常见参数如下:

reducer: 将slice中的reducer可以组成一个对象传入此处;

middleware:可以使用参数,传入其他的中间件(自行了解);

devTools:是否配置devTools工具,默认为true;

import { configureStore } from "@reduxjs/toolkit"// 导入reducerimport counterReducer from "./features/counter"const store = configureStore({ reducer: { counter: counterReducer }, // 例如可以关闭redux-devtool devTools: false})export default store

createSlice主要包含如下几个参数:

name:用户标记slice的名词

在之后的redux-devtool中会显示对应的名词;

initialState:初始化值

第一次初始化时的值;

reducers:相当于之前的reducer函数

对象类型,对象中可以添加很多的函数;

函数类似于redux原来reducer中的一个case语句;

函数的参数:

参数一: state, 当前的state状态参数二: 传递的actions参数, actions有两个属性, 一个是自动生成的type, 另一个是传递的参数放在payload中;

createSlice返回值是一个对象,包含所有的actions;

import { createSlice } from "@reduxjs/toolkit"const counterSlice = createSlice({ name: "counter", initialState: { counter: 99 }, reducers: { // 直接对actions解构拿到payload changeNumber(state, { payload }) { state.counter = state.counter + payload } }})// reducers当中的方法会放在counterSlice的actions中, 用于派发actionexport const { changeNumber } = counterSlice.actions// 注意: 导出的是reducer, 用于在index.js中对reducer进行组合export default counterSlice.reducer

接下来使用store中的counter数据和修改counter的操作和之前一样, 借助于react-redux库进行连接使用

import React, { PureComponent } from 'react'import { connect } from 'react-redux'import { changeNumber } from '../store/features/counter'export class Home extends PureComponent { changeNumber(num) { this.props.changeNumber(num) } render() { const { counter } = this.props return ( <div> <h2>Home</h2> <h2>当前计数: {counter}</h2> <button onClick={() => this.changeNumber(5)}>+5</button> <button onClick={() => this.changeNumber(10)}>+10</button> </div> ) }}// 映射要使用的store中的数据const mapStateToProps = (state) => ({ counter: state.counter.counter})// 映射要派发的方法const mapDispatchToProps = (dispatch) => ({ changeNumber(num) { dispatch(changeNumber(num)) }})export default connect(mapStateToProps, mapDispatchToProps)(Home)
本文链接地址:https://www.jiuchutong.com/zhishi/298886.html 转载请保留说明!

上一篇:torch.cuda常用指令(torch.cuda.is_available())

下一篇:vue3 子组件上绑定(v-model=“xx“) 父组件传过来的值后报错(vue 绑定子组件属性)

  • vivo手机闪充模式怎么开启(vivo手机闪充模式怎么关闭)

    vivo手机闪充模式怎么开启(vivo手机闪充模式怎么关闭)

  • 为什么qq看点评论会被自动删除(为什么qq看点评论栏不见了)

    为什么qq看点评论会被自动删除(为什么qq看点评论栏不见了)

  • 抖音金币怎么提现(抖音金币怎么提升等级)

    抖音金币怎么提现(抖音金币怎么提升等级)

  • 辅助触控点了没反应(辅助触控点了没反应xr)

    辅助触控点了没反应(辅助触控点了没反应xr)

  • itx机箱什么意思

    itx机箱什么意思

  • 红米note8怎么装手机卡(红米note8怎么装内存卡)

    红米note8怎么装手机卡(红米note8怎么装内存卡)

  • 硬盘内存一般多大(硬盘内存多少够用)

    硬盘内存一般多大(硬盘内存多少够用)

  • 苹果手机id和密码都忘了怎么办(苹果手机id和密码)

    苹果手机id和密码都忘了怎么办(苹果手机id和密码)

  • 手机屏突然变暗是什么原因(手机屏突然变暗了怎么弄)

    手机屏突然变暗是什么原因(手机屏突然变暗了怎么弄)

  • jmm一al10是什么型号(jmm-al10是什么型号)

    jmm一al10是什么型号(jmm-al10是什么型号)

  • 惠普3630打印机加墨了为什么还是显示没墨(惠普3630打印机故障灯大全图解)

    惠普3630打印机加墨了为什么还是显示没墨(惠普3630打印机故障灯大全图解)

  • pon灯闪烁是什么意思(pon灯闪烁是什么意思光猫坏了)

    pon灯闪烁是什么意思(pon灯闪烁是什么意思光猫坏了)

  • 红米bn37什么型号(红米732g)

    红米bn37什么型号(红米732g)

  • 怎么从哔哩哔哩上下视频(怎么从哔哩哔哩保存完整视频)

    怎么从哔哩哔哩上下视频(怎么从哔哩哔哩保存完整视频)

  • 手机上的安全模式怎么取消(手机上的安全模式怎么关闭)

    手机上的安全模式怎么取消(手机上的安全模式怎么关闭)

  • 华为mate30怎么设置隔空截屏(华为mate30怎么设置桌面钟表)

    华为mate30怎么设置隔空截屏(华为mate30怎么设置桌面钟表)

  • 手机版易企秀怎么上传音乐(手机版易企秀怎么上传本地音乐)

    手机版易企秀怎么上传音乐(手机版易企秀怎么上传本地音乐)

  • jkmal00a华为哪个型号(jkmal00a华为哪个型号多少钱)

    jkmal00a华为哪个型号(jkmal00a华为哪个型号多少钱)

  • pr怎么让滚动字幕定格(pr怎么让滚动字幕停止)

    pr怎么让滚动字幕定格(pr怎么让滚动字幕停止)

  • 怎么将微博上的视频保存到手机中(怎么将微博上的视频保存到手机相册)

    怎么将微博上的视频保存到手机中(怎么将微博上的视频保存到手机相册)

  • 极易一键重装系统怎么用?极易一键重装系统详细步骤图解(极易一键重装系统怎么用)

    极易一键重装系统怎么用?极易一键重装系统详细步骤图解(极易一键重装系统怎么用)

  • window7和8和10的区别在哪(win 8和win 7有什么区别)

    window7和8和10的区别在哪(win 8和win 7有什么区别)

  • vue3使用百度地图(详)(vue 百度地图 移动端)

    vue3使用百度地图(详)(vue 百度地图 移动端)

  • vue 拖拽(Vue 拖拽排序)

    vue 拖拽(Vue 拖拽排序)

  • 企业缴纳所得税税率
  • 哪些是现代服务
  • 个人所得税是全部收入吗
  • 小微企业所得税税率2.5% 10% 25%
  • 个人所得税如果两份工作怎么扣
  • 研发费用可以计入哪个科目
  • 开票要交印花税吗
  • 公司团建取得的进项发票可以抵扣增值税吗
  • 政府补助具有无偿性的特征
  • 中期票据怎么入账
  • 公司代扣代缴个人所得税如何退税
  • 居民企业只就其境内全部所得纳税
  • 缴纳补充公积金的外企
  • 返利失效了怎么找回
  • 个体工商户交纳社保办法
  • 房屋租赁交税能补交吗
  • 未来公司销售一批产品给东方公司
  • 外购无形资产的成本包括进口关税吗
  • 初级备考心得总结
  • 预提厂房租金
  • 公司按揭购车
  • 收入不交税怎么处理
  • 冲减多计提的费用
  • 支付宝手续费怎么关闭
  • 投资性房地产的后续计量从成本模式转为公允价值模式的
  • 其他应收款代扣代缴个人所得税
  • 现金支付奖金
  • dwg文件怎么打开
  • 现金比率分析怎么分析
  • 森林植被恢复费标准
  • 出租房子收入计入什么科目
  • 奖励先进个人计划怎么写
  • 苹果手机微信怎么迁移聊天记录到新手机
  • 利息如何做会计分录
  • aliwssv.exe是什么进程
  • 公司购买的大型安装设备什么时候转入固定资产
  • 母公司将资产划转子公司土地增值税
  • 内部退养如何缴纳个人所得税
  • 不得税前扣除的项目有哪些
  • 企业之间是什么意思
  • 医院装修设计费用取费标准表
  • 会计核算方法体系构成
  • 跨年费用计入未分配利润
  • 微信账单可以打清单吗
  • 三维点云识别
  • jquery 元素
  • 视同销售在纳税明细表中怎么填
  • 财务报表如何看
  • 成本和费用有着根本的区别
  • 房屋租赁交的定金可以退吗
  • 金蝶专业版仓库管理怎么结账
  • 小规模纳税人可以开13的税吗
  • 工程物资残料价值
  • 原材料用于在建工程要进项转出吗
  • 实收资本现金入账怎么办
  • 办公设备折旧年限规定多少年
  • 设计费要计入固定成本吗
  • 发票验旧就是作废么?
  • 一般纳税人的发票抵扣有效期多久
  • 旅游企业相关服务案例
  • mysql字段超长
  • Win7x64下Mysql5.7.18解压版的安装方法
  • mysql的随机函数
  • Win10预览版怎么变回正式版
  • potplayer win7
  • mac视频预览图不显示
  • Linux桌面环境选择
  • win8中的wps点打印预览就卡
  • linux使用语言
  • cocos 2d x
  • js跨域解决方案有哪些
  • unity优化gc
  • python字符串怎么用
  • python如何发送http请求
  • 党建服务中心属于哪个区
  • 留抵退税退回的款如何做账
  • 怎么看扣税明细
  • 广东省东莞电子税局
  • 如何计算售价多少可以赚去自己心仪的钱
  • 新车购置税是在4s店交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设