位置: IT常识 - 正文

React中useReducer的理解与使用(react usereducer)

编辑:rootadmin
React中useReducer的理解与使用

推荐整理分享React中useReducer的理解与使用(react usereducer),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react use,react use,react useref和createref,react useref和createref,react userouter,react useref和createref,react usereducer,react usereducer,内容如对您有帮助,希望把文章链接给更多的朋友!

这里以简单的语言描述一下useReducer的使用。也可自己查看官方文档(英文)

useReducer的使用场景: 当一个state需要维护多个数据且它们之间互相依赖。 这样业务代码中只需要通过dispatch来更新state,繁杂的逻辑都在reducer函数中了。

一、useReducer

demo:

function reducer(state, action){ //...}const [state, dispatch] = useReducer(reducer, { name: "qingying", age: 18 });1. useReducer

主要作用就是更新state。

React中useReducer的理解与使用(react usereducer)

参数:

第一个是 reducer 函数,这个函数返回一个新的state。 后面再详述该函数的使用。第二个是 state 初始值。

返回值:

当前 state。(可以在业务代码中获取、操作的就是它。)dispatch 函数,纯函数,用来更新state,并会触发re-render。 (通俗地说,dispatch就是重新操作state的,会让组件重新渲染)2. reducer函数

作用:处理传入的state,并返回新的state。

参数:

接受当前 state。接受一个action,它是 dispatch 传入的。

返回值:

新的state。

3. dispatch函数

发送一个对象给reducer,即action。

参数: 一个对象。 返回值: 无。

完整代码:

import { useReducer } from "react";/* 当state需要维护多个数据且它们互相依赖时,推荐使用useReducer组件内部只是写dispatch({...})处理逻辑的在useReducer函数中。获取action传过来的值,进行逻辑操作*/// reducer计算并返回新的statefunction reducer(state, action) { const { type, nextName } = action; switch (type) { case "ADD": return { ...state, age: state.age + 1 }; case "NAME": return { ...state, name: nextName }; } throw Error("Unknown action: " + action.type);}export default function ReducerTest() { const [state, dispatch] = useReducer(reducer, { name: "qingying", age: 12 }); function handleInputChange(e) { dispatch({ type: "NAME", nextName: e.target.value }); } function handleAdd() { dispatch({ type: "ADD" }); } const { name, age } = state; return ( <> <input value={name} onChange={handleInputChange} /> <br /> <button onClick={handleAdd}>添加1</button> <p> Hello,{name}, your age is {age} </p> </> );}
本文链接地址:https://www.jiuchutong.com/zhishi/300187.html 转载请保留说明!

上一篇:【Node.js实战】一文带你开发博客项目(API 对接 MySQL)(node.js教程详细)

下一篇:SOC计算方法:卡尔曼滤波算法(sockas)

  • 支付宝怎么查询2021高考分数(支付宝怎么查询房产证信息)

    支付宝怎么查询2021高考分数(支付宝怎么查询房产证信息)

  • qq空间权限怎么解开(qq空间权限怎么打开)

    qq空间权限怎么解开(qq空间权限怎么打开)

  • 受赠方可以解除亲属卡吗(受赠方可以解除亲情卡吗)

    受赠方可以解除亲属卡吗(受赠方可以解除亲情卡吗)

  • 华为p40pro蓝牙支持aptx的吗(华为p40pro蓝牙支持什么编码)

    华为p40pro蓝牙支持aptx的吗(华为p40pro蓝牙支持什么编码)

  • 不小心退群了并删除了如何恢复(不小心退群了并删除了如何恢复聊天记录)

    不小心退群了并删除了如何恢复(不小心退群了并删除了如何恢复聊天记录)

  • 微信怎么传输大视频(微信怎么传输大文件视频)

    微信怎么传输大视频(微信怎么传输大文件视频)

  • 小米手机录屏听不到对方声音(小米手机录屏听不见对方的声音)

    小米手机录屏听不到对方声音(小米手机录屏听不见对方的声音)

  • 京东sku是什么意思啊(京东sku是啥)

    京东sku是什么意思啊(京东sku是啥)

  • 发出去的微信删除对方还能看见吗(发出的微信删除后对方还看得见吗)

    发出去的微信删除对方还能看见吗(发出的微信删除后对方还看得见吗)

  • qq友谊小船是互相的吗(qq友谊小船是互动游戏吗)

    qq友谊小船是互相的吗(qq友谊小船是互动游戏吗)

  • 电脑腾讯视频怎么下载电视剧(电脑腾讯视频怎么添加到桌面)

    电脑腾讯视频怎么下载电视剧(电脑腾讯视频怎么添加到桌面)

  • 指纹密码怎么解开(指纹密码怎么解开手机)

    指纹密码怎么解开(指纹密码怎么解开手机)

  • 苹果手机为什么下不了小红书(苹果手机为什么连不上wifi)

    苹果手机为什么下不了小红书(苹果手机为什么连不上wifi)

  • 怎么用前置摄像头扫二维码(怎么用前置摄像头拍自己)

    怎么用前置摄像头扫二维码(怎么用前置摄像头拍自己)

  • 快手怎么进入粉丝团(快手粉丝怎么进粉丝群)

    快手怎么进入粉丝团(快手粉丝怎么进粉丝群)

  • 抖音怎么在图片上打字(抖音怎么在图片上打标签)

    抖音怎么在图片上打字(抖音怎么在图片上打标签)

  • 手机怎么打开pdf文件(手机上怎么弄pdf文档)

    手机怎么打开pdf文件(手机上怎么弄pdf文档)

  • 荣耀MagicBook 14的电池容量是多少(荣耀magicbook14的14是什么意思)

    荣耀MagicBook 14的电池容量是多少(荣耀magicbook14的14是什么意思)

  • 滴滴账号被静默多久会恢复(滴滴账号被静默,但账号显示正常)

    滴滴账号被静默多久会恢复(滴滴账号被静默,但账号显示正常)

  • 苹果型号a开头代表什么(苹果型号a开头在哪看)

    苹果型号a开头代表什么(苹果型号a开头在哪看)

  • 锤子清除锁屏密码(锤子强制清除锁屏密码)

    锤子清除锁屏密码(锤子强制清除锁屏密码)

  • 微信红包不拆开怎么查看金额(微信红包不拆开怎么退回)

    微信红包不拆开怎么查看金额(微信红包不拆开怎么退回)

  • 滴滴行程单别人能查吗(行程单滴滴打车)

    滴滴行程单别人能查吗(行程单滴滴打车)

  • 水印相机怎么改时间地址(水印相机怎么改时间日期)

    水印相机怎么改时间地址(水印相机怎么改时间日期)

  • 手机QQ接收不到消息通知(手机qq接收不到图片)

    手机QQ接收不到消息通知(手机qq接收不到图片)

  • iphonex访问限制在哪里(iphonex的访问限制功能)

    iphonex访问限制在哪里(iphonex的访问限制功能)

  • 准确率、精确率、召回率、F1-score(准确率精确率)

    准确率、精确率、召回率、F1-score(准确率精确率)

  • 应交税费是什么类
  • 残疾人就业保障金会计分录怎么做
  • 国际货运代理可以开免税吗
  • 企业购进软件系统后如何做账
  • 企业开出的普票和专票对税额有影响吗
  • 无名称发票可以抵扣吗
  • 企业常见的股利政策
  • 工会经费按什么计算的
  • 应纳税调增调减会计分录
  • 退休人员基本养老金调整幅度需要综合考虑什么因素
  • 收到的抵债资产属不属于所有者权益
  • 境外演艺经纪公司代扣代缴哪些税款?
  • 汽车装饰装潢税率
  • 小规模开票是含税的吗
  • 电子承兑汇票支付信用查询
  • 商场现金收入如何计算
  • 1697508131
  • 政府补贴的银行卡注销了会怎么样
  • 补报的年报可以更改吗
  • 成本的分类有哪些如何分类
  • 一般纳税人开出普票可以抵扣吗
  • 股东借钱给公司怎么写借条
  • 重庆四日游最佳攻略超详细
  • 补交以前年度的城建税会计分录
  • windows11怎么删除临时文件
  • 在建工程进项税额转出
  • php获取文件名
  • win10的电源设置
  • .msc是什么意思
  • 分期收款销售商品纳税义务发生时间
  • 收取包装物押金税率
  • 低值易耗品报废时有残料价值收回的应冲减当月成本费用
  • vue 获取当前url
  • Smarty3配置及入门语法
  • 股权置换和股权转让
  • 旅游业哪些发票需要交税
  • 非货币性资产投资的会计处理
  • 母公司为子公司提供担保需要决议吗
  • 融资租赁后续会计处理
  • 增值税进项税加计抵减
  • 定额发票和增值税发票
  • 企业利润表列报项目有哪些
  • 年报超时了可以补报吗
  • 企业办理土地证需要哪些资料和手续
  • 设备购买与租赁的分析中,购买优于租赁的条件是
  • 织梦如何采集文章
  • Advanced SQL Injection with MySQL
  • 白酒消费税计税价格由谁核定
  • 其他应付款借方余额怎么调整
  • 包装物租金如何界定
  • 报废的固定资产清理的净损失计入营业外支出
  • 车辆处置收入怎么交税
  • 少数股东权益如何保障
  • 装修费一定要摊销吗
  • 垃圾清运费会计处理
  • 销售方开红字发票需要什么信息
  • 代扣代缴增值税税率
  • 塑料行业税负率是多少
  • 收回投标保证金 建立台账
  • 材料暂估分录
  • 发票提前开能入费用吗?
  • fedora内核版本
  • 在Linux系统中安装虚拟window
  • linux 清理
  • linux磁盘管理fdisk
  • 在Windows Server 2012中,管理员默认的用户名是
  • fsav32.exe是什么进程 有什么作用 fsav32进程查询
  • windows7打开网络连接
  • linux 文件数量 命令
  • win10mobile官网
  • rsync安装使用详解
  • linux分区类型默认的是什么
  • python科学绘图
  • js如何显示日期和时间
  • jQuery中Nicescroll滚动条插件的用法
  • service与activity数据交互
  • Python默认参数 数组坑
  • 税务分局长级别
  • 重庆税务局查询缴费记录
  • 浙江国地税联合税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设