useReducer可配合react-redux方案

news2025/1/11 22:36:01

接下来 我们来看 useReducer
这个属性 配合 react-redux 就会非常好用

那么 我们编写一段这样代码

import React, { useState } from 'react';

const ContDom = () => {
  const [count, setCount] = useState(0);

  return (
    <div>
      cont值{ count }
      <button onClick = {()=>{ setCount(count + 1) }}>
        增加
      </button>
      <button onClick = {()=>{ setCount(count - 1) }}>
        减少
      </button>
    </div>
  )
}

export default ContDom;

这其实就是实现了一个很基本的 数据 加减功能
我们点增加 cont的值会一直上涨
在这里插入图片描述
反之 点减少 值就会一直向下减
在这里插入图片描述
但如果 我们这个值是react-redux管理的公共数据呢?
由于时间问题 我们直接编写代码如下

import React, { useReducer } from 'react';

const initialState = { count: 0 };

const reducer = (state,action) => {
  switch(action.type){
    case "incrment":
      return {count: state.count+1}
    case "decrement":
      return { count: state.count-1 }
    default:
      return state
  }
}

const ContDom = () => {
  const [state, dispatch] = useReducer(reducer, initialState);

  return (
    <div>
      cont值{state && state.count}
      <button onClick = {()=>{ dispatch({type:"incrment"}) }}>
        增加
      </button>
      <button onClick = {()=>{ dispatch({type:"decrement"}) }}>
        减少
      </button>
    </div>
  )
}

export default ContDom;

我们通过这里写的这个reducer来模仿redux操作
在这里插入图片描述
我们的基本功能也都实现了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/694191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DevSecOps实践:如何在研发过程中做好供应链安全

DevSecOps与供应链安全 很多企业都建立了DevOps流程&#xff0c;但安全基本还处在流程之外&#xff0c;没有融入传统DevOps流程&#xff0c;导致安全一直都是敏捷交付的瓶颈。本篇内容我们将从DvSecOps和软件供应链安全的角度来谈谈研发过程中的安全问题。 01 DevSecOps——供…

Self-Instruct 论文解读:利用大模型自己给自己生成指令数据,指令数据自动生成

总览 大规模“指令调整”的语言模型&#xff0c;即指令微调的LLM&#xff0c;已经表现出非凡的零样本能力&#xff0c;尤其是推广新任务上。 然而&#xff0c;这些模型严重依赖于人类编写的指令数据&#xff0c;而这些数据通常在数量、多样性和创造力方面受到限制&#xff0c;…

Elasticsearch:result

排序 es支持对搜索结果排序&#xff0c;默认是根据相关度算分(_score)来排序。可以排序的字段类型有&#xff1a;keyword、数值、地理坐标、日期等类型。 语法 GET /indexName/_search {"query": {"match_all": {}},"sort": [{"FIELD&quo…

视频融合平台EasyCVR迁移数据库报错1146是什么原因?该如何解决?

EasyCVR视频融合平台基于云边端协同架构&#xff0c;具有强大的数据接入、处理及分发能力。平台支持多协议接入&#xff0c;包括&#xff1a;国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等&#xff0c;对外可分发多格式视频流&#xff0c;包括RTSP、…

SSM 开放式实验管理系统 -计算机毕设 附源码78512

SSM 开放式实验管理系统 摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模…

datax插件开发HdfsReader支持parquet

数据仓库HIVE存储数据一般采用parquet格式&#xff0c;但Alibaba datax开源版不支持parquet格式&#xff0c;在网上查了很多资料&#xff0c;写的大多不完整&#xff0c;特此总结出完整版记录一下&#xff0c;供大家参考。 操作步骤 1.从gitee 拉取datax代码&#xff0c;对hd…

一、云尚办公系统:搭建环境

云尚办公系统&#xff1a;搭建环境 B站直达【为尚硅谷点赞】: https://www.bilibili.com/video/BV1Ya411S7aT 本博文以课程相关为主发布&#xff0c;并且融入了自己的一些看法以及对学习过程中遇见的问题给出相关的解决方法。一起学习一起进步&#xff01;&#xff01;&#x…

前端第一期工作梳理总结:实现基础界面

目前前后端总体框架搭建并打通&#xff0c;除了文本检索功能外&#xff0c;均正常实现&#xff0c;后期将进行单元测试、集成测试和功能、性能测试。具体界面展示如下&#xff1a; ①注册、登录、忘记-找回密码 - 注册 - 登录 - 注销&#xff0c;退出当前账号。 - 忘记密码…

word转pdf实现

写一下笔记&#xff0c;以便在以后工作中用到&#xff1a; 导包&#xff1a; <!--word 转 pdf--> <dependency><groupId>com.documents4j</groupId><artifactId>documents4j-local</artifactId><version>1.0.3</version> &l…

油烟机语音方案:NV040D语音芯片,支持MCU输入UART指令

随着人们生活水平的提高和厨房使用频率的增加&#xff0c;油烟机成为现代家庭生活中必不可少的一种家用电器&#xff0c;而语音智能化技术的发展也使得油烟机功能更加智能化。九芯电子的NV040D语音芯片是一种具备MCU输入UART指令功能的专业语音芯片&#xff0c;可以广泛应用于油…

实现微服务中的数据一致性:成功的策略

微服务架构已经彻底改变了我们构建和扩展应用程序的方式&#xff0c;提供了诸多优势&#xff0c;如提高了灵活性、可扩展性和故障隔离性。然而&#xff0c;由于微服务的分散性&#xff0c;跨服务维护数据一致性可能面临重大挑战。在本文中&#xff0c;我们将探讨不同的方法来解…

itextpdf实现word模板生成文件

前言 使用word模板生成文件&#xff0c;如下图&#xff0c;将左侧的模板生成为右侧的填充word文档。 操作方式 引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><arti…

多串口数据采集网关有什么功能

数据采集网关是一种通信终端设备&#xff0c;也称物联网网关&#xff0c;它具备数据采集、存储、传输等功能。物通博联WG系列数据采集网关提供多种数据传输方式和接口通道&#xff0c;包括有线、无线和串口传输等&#xff08;5G、4G、WIFI、以太网&#xff09;&#xff0c;可以…

ModaHub魔搭社区:向量数据库Milvus性能调优教程(二)

目录 索引 其他 存储优化 常见问题 索引 向量索引的基本概念请参考 向量索引概述。 选择合适的索引需要在存储空间、查询性能、查询召回率等多个指标中权衡。 FLAT 索引 FLAT 是对向量的暴力搜索&#xff08;brute-force search&#xff09;&#xff0c;速度最慢&#…

Qt/C++编写监控实时显示和取流回放工具(回放支持切换进度)

一、前言 现在各个监控大厂做的设备&#xff0c;基本上都会支持通过rtsp直接取流显示&#xff0c;而且做的比较好的还支持通过rtsp回放取流&#xff0c;基本上都会约定一个字符串的规则&#xff0c;每个厂家都是不一样的规则&#xff0c;比如回放对应的rtsp地址还要带上时间范…

Spring专家课程Day02_Spring-DI

文章目录 一、依赖注入_Autowired1.配置类中Bean 方式注入1.1&#xff09;注入实例1.2&#xff09;自动注入的匹配原则 2.组件扫描实现自动注入 Autowired3.set方法注入 二、接口解耦_自动注入规则1&#xff09;利用接口解耦2&#xff09;Autowired的注入规则3&#xff09;Qual…

学高性能计算难吗?猿代码科技国内首家专注高性能计算人才培养与推荐 ...

高性能计算&#xff08;HPC&#xff09;作为一门专业领域&#xff0c;涉及到复杂的计算架构、并行计算模型和算法优化等方面的知识。因此&#xff0c;学习高性能计算可能对一些人来说是一项挑战。然而&#xff0c;随着正确的学习方法和适当的资源&#xff0c;掌握高性能计算并不…

【UCOS-III】自我学习笔记→第35讲→软件定时器实验

文章目录 前言实验步骤1.复制消息队列工程&#xff0c;并创建单次定时器和周期定时器&#xff0c;并删除task3及其相关内容2.添加task1按键处理和软件定时器超时函数3.查看串口现象 测试代码工程文件总结 前言 无&#xff0c;仅作记录&#xff0c;不具有参考价值&#xff0c;所…

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型 一、效果展示 二、模型介绍 1.数据情况 一列数据&#xff0c;499个值 ratio 0.9;% 训练集比例 MaxEpochs 600;% 最大训练次数 % % 导入股票数据 xall importdata(数据.xlsx);2.优化参…

MySQL MMM 双主架构 主主复制 高可用

MMM&#xff08;Master-Master replication manager for MvSQL&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#xff08;双主&#xff09;复制&…