React-Redux简单使用

1.配置环境

1.1开启项目

npx create-react-app react-redux-pro  

 

1.2安装配套工具

说明:安装Redux Toolkit和react-redux。Redux Toolkit(RTK)~官方推荐编写Redux逻辑的方式,是一套工具的集合集,简化书写方式;react-redux-用来链接Redux和React组件的中间件。

npm i @reduxjs/toolkit react-redux 

 

1.3启动 

npm run start

2.创建文件夹

说明:在src下面安装store文件夹依次。

 

2.1counterStore.js

import {createSlice}  from "@reduxjs/toolkit"

const counterStore=createSlice({
    name:"counter",
    // 初始化状态
    initialState:{
        count:0
    },
    // 修改状态的方法 同步方法
    reducers:{
        inscrement(state){
            state.count++
        },
        decrement(state){
            state.count--
        }
    }
})

// 解构actionCreater函数
const {inscrement,decrement}= counterStore.actions
// 获取reducer
const reducer=counterStore.reducer

// 按需导出actionCreator
export {inscrement,decrement}

// 以默认导出的方式导出reducer
export default reducer

2.2index.js

import { configureStore} from "@reduxjs/toolkit"
// 导入子模块reducer
import counterReducer from "./modules/counterStore"

const store=configureStore({
    reducer:{
        counter:counterReducer
    }
})

export default store

2.3app.js 

import { useDispatch, useSelector } from "react-redux";
import {inscrement,decrement} from "./store/modules/counterStore"
function App() {
  const {count}=useSelector(state=>state.counter)
  const dispatch=useDispatch()
  return (
    <div className="App">
            {count}
            <button onClick={()=>dispatch(inscrement())}>+</button>
            <button onClick={()=>dispatch(decrement())}>-</button>
    </div>
  );
}

export default App;

3.显示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 多环境配置

Spring Boot 多环境配置 在现代的软件开发中&#xff0c;通常需要将应用程序部署到不同的环境中&#xff0c;如开发环境、生产环境和测试环境等。每个环境可能需要不同的配置参数&#xff0c;例如数据库连接信息、日志级别等。在 Spring Boot 中&#xff0c;我们可以通过简单的…

Ubuntu安装conda以后,给jupyter安装C++内核

前言 大家都知道&#xff0c;jupyter notebook 可以支持python环境&#xff0c;可以在不断点调试的情况下&#xff0c;打印出当前结果&#xff0c;如果代码错了也不影响前面的内容。于是我就想有没有C环境的&#xff0c;结果还真有。 参考文章&#xff1a; 【分享】Ubuntu安装…

如何排查合并问题——《OceanBase诊断系列》之七

1. 前言 OceanBase数据库的存储引擎以 LSM-Tree 架构为基础&#xff0c;区分静态基线数据&#xff08;存储在只读SSTable&#xff09;和动态增量数据&#xff08;存储在可读写MemTable&#xff09;。其中 SSTable 是只读的&#xff0c;一旦生成就不再被修改&#xff0c;存储于…

怎么给3d模型贴图?---模大狮模型网

在3D建模软件中给模型贴图是一种常见的操作&#xff0c;可以让模型外表更加生动和具有视觉效果。 给3D模型贴图&#xff1a; 准备贴图&#xff1a;首先需要准备好你要用来贴图的纹理图片&#xff0c;确保图片符合模型的尺寸和比例。 导入贴图&#xff1a;在3D建模软件中打开模…

多模态入门

VIT处理图像 CNN VS Transformer 多模态BLIP模型 网络结构 视觉编码器: 就是 ViT 的架构。将输入图像分割成一个个的 Patch 并将它们编码为一系列 Image Embedding,并使用额外的 [CLS] token 来表示全局的图像特征。视觉编码器不采用之前的基于目标检测器的形式,因为 ViLT 和…

YOLOv9(2):YOLOv9网络结构

1. 前言 本文仅以官方提供的yolov9.yaml来进行简要讲解。 讲解之前&#xff0c;还是要做一些简单的铺垫。 Slice层不做任何的操作&#xff0c;纯粹是做一个占位层。这样一来&#xff0c;在parse_model时&#xff0c;ch[n]可表示第n层的输出通道。 Detect和DDetect主要区别还…

Media Encoder 2024:未来媒体编码的新纪元 mac/win版

随着科技的飞速发展&#xff0c;媒体内容已成为我们日常生活中不可或缺的一部分。为了满足用户对高质量视频内容不断增长的需求&#xff0c;Media Encoder 2024应运而生&#xff0c;它凭借卓越的技术和创新的特性&#xff0c;重塑了媒体编码的未来。 Media Encoder 2024软件获…

计算机的基础知识

计算机的特点及应用&#xff1a; 图灵说–计算就是基于规则的符号串变换从20世纪80年代开始&#xff0c;发达国家开始研制第五代计算机&#xff0c;研究的目标是能够打破以往计算机固有的体系结构&#xff0c;使计算机能够具有像人一样的思维、推理和判断能力&#xff0c;向智…

mysql的语法总结2

命令&#xff1a; mysql -u 用户名 -p mysql登录 命令&#xff1a;create database u1 创建数据库u1 查询数据库 使用数据库u1 创建表department 查询表department ALTER TABLE 表名 操作类型&#xff1b; 操作类型可以有以下的操作&#xff1a; 添加列&#x…

SpringMVC | SpringMVC的“入门“

目录: Spring MVC入门 :Spring MVC 概述第一个Spring MVC应用SpringMVC 的 “工作流程” Spring MVC入门 : 作者简介 &#xff1a;一只大皮卡丘&#xff0c;计算机专业学生&#xff0c;正在努力学习、努力敲代码中! 让我们一起继续努力学习&#xff01; 该文章参考学习教材为&a…

一文读懂Persistence One- 如何将Restaking带入Cosmos

Persistence One正在将Restaking引入Cosmos。用户将能够通过pSTAKE、Stride、Quicksilver和Milkyway将Liquid Staked Tokens&#xff08;如ATOM、TIA、DYDX等&#xff09;存入Persistence One&#xff0c;对其进行Restaking&#xff0c;从而安全地连接更多区块链&#xff0c;首…

计算机网络之传输层 + 应用层

.1 CIDR地址块中还有三个特殊的地址块 a. 前缀 n 32 , 即32位IP地址都是前缀, 没有主机号, 这其实就是一个IP地址, 用于主机路由 b. 前缀 n 31 , 这个地址块中有两个IP地址, 主机号分别为0/1 , 这个地址块用于点对点链路 c. 前缀 n 0 , 用于默认路由使用二叉线索树查找转发…

就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机

一、日志轮转 日志重要性 Linux系统日志对管理员来说&#xff0c;是了解系统运行的主要途径&#xff0c;因此需要对 Linux 日志系统有个详细的了解。 Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息&#xff0c;这些各种信息都应该记录到日志文件中&a…

【备战蓝桥杯系列】Java组国二选手笔记一:蓝桥杯中的常用语法特性

蓝桥杯Java国二选手笔记一&#xff1a;蓝桥杯中的常用语法特性 前言 参加了好几次蓝桥杯了&#xff0c;C组参加了&#xff0c;Java也参加过&#xff0c;也会用python刷算法。下面给出常用的Java语法特性在蓝桥杯中的使用&#xff0c;以及常见的需要注意的Java语法规范。有准备…

Git你必须知道的知识

一&#xff1a;使用Git的原因 我们在写版本的时候&#xff0c;可能会谢谢改改&#xff0c;可能要回到之前的文件&#xff0c;修改之前的文件&#xff0c;因此总是要保持很多个文件&#xff0c;且书写文件名也很麻烦。git可以有一个仓库&#xff0c;版本库&#xff0c;可以保存这…

c语言经典测试题12

1.题1 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) { if(f[i] 0) break; } 上述代码有那些缺陷&#xff08;&#xff09; A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是f[i] D: 没有缺…

GamiPress与MyCred:游戏化插件

游戏化插件很受欢迎&#xff0c;可以提高用户参与度并鼓励在动态网站和内容管理环境中采取所需的操作。GamiPress和MyCred 是游戏化领域的主要参与者&#xff0c;它们提供功能丰富的解决方案&#xff0c;将游戏机制有效地融入网站。旨在吸引并留住受众的组织面临着 GamiPress 和…

什么是攻防演练,能给企业带来什么

随着互联网技术的发展和企业信息化程度的提高&#xff0c;企业面临的网络安全威胁越来越多。为了保护企业的信息安全&#xff0c;攻防演练已经成为企业安全运营中不可或缺的一部分。攻击者通常会利用各种方法来破坏企业的安全系统和数据&#xff0c;因此企业需要像攻击者一样思…

TDengine 资深研发分享解决思路,长查询不再成为系统性能瓶颈!

长查询问题指的是在数据库写入和查询并存的日常应用场景中&#xff0c;存在处理数据量大且耗时很长的查询长时间占用系统资源&#xff0c;导致写入可能被阻塞的问题。有时&#xff0c;查询代码对于资源释放函数调用的遗忘也可能以长查询问题的形式表现出来。如何在数据写入不被…

一家新店怎么快速出体验分?教大家一个简单好用的方法,建议收藏

大家好&#xff0c;我是电商花花。 在现在直播电商时代&#xff0c;抖音电商已经成为了一种新兴的商业模式&#xff0c;在抖音小店的项目上&#xff0c;店铺体验分成为了抖音小店能否成功的一个关键因素之一。 店铺的体验分越高&#xff0c;我们店铺的权重才会更高&#xff0…