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

【React】useReducer

让 React 管理多个相对关联的状态数据

import { useReducer } from "react"
// 1. 定义reducer函数,根据不同的action返回不同的状态
function reducer(state, action) {switch (action.type) {case 'ADD':return state + action.payloadcase 'SUB':return state - 1default:return state}
}function App() {// 2. 组件中调用 useReducer, 0 是初始化参数const [state, dispatch] = useReducer(reducer, 0)return (<div className="App">{state}{/* 3. 调用dispatch 产生一个新的状态,匹配事件(可传参) 更新 UI */}<button onClick={() => { dispatch({ type: 'ADD', payload:100 }) }}>+</button><button onClick={() => { dispatch({ type: 'SUB' }) }}>-</button></div>)
}export default App;
http://www.lryc.cn/news/242840.html

相关文章:

  • leetcode刷题详解二
  • 利用opencv/暗通道方法检测图像是否有雾-利用opencv/暗通道方法对深度学习目标检测算法结果进行二次识别提高准确率
  • Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip
  • 【广州华锐互动】利用VR体验环保低碳生活能带来哪些教育意义?
  • python爬虫中 HTTP 到 HTTPS 的自动转换
  • 卷积神经网络(CNN)识别验证码
  • 使用 PyODPS 采集神策事件数据
  • 罗技M590鼠标usb优联连接不上
  • 天池 机器学习算法(一): 基于逻辑回归的分类预测
  • 45岁后,3部位“越干净”,往往身体越健康,占一个也要恭喜!
  • Windows安装Hadoop运行环境
  • 软件测试 | MySQL 主键约束详解:保障数据完整性与性能优化
  • 深入了解Linux中的scp命令及高级用法
  • moviepy 视频剪切,拼接,音频处理
  • ubuntu搭建phpmyadmin+wordpress
  • linux网络之网络层与数据链路层
  • python数学建模之Numpy、Pandas学习与应用介绍
  • LiveVIS视图库1400-如何切换数据库?默认使用的数据库是什么?如何切换到Mysql/MariaDB?
  • 【2023.11.24】Mybatis基本连接语法学习➹
  • 如何防止网络被入侵?
  • 【Linux】常见指令及周边知识(一)
  • 【Docker】从零开始:6.配置镜像加速器
  • The Bridge:从临床数据到临床应用(预测模型总结)
  • [极客大挑战 2019]Secret File1
  • 如何评估一个论坛或峰会值不值得参加?
  • 04_使用API_日期和时间
  • 手动实现 git 的 git diff 功能
  • RabbitMQ之MQ的可靠性
  • Navicat 技术指引 | 适用于 GaussDB 的查询编辑器
  • Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署