React中使用RTK

news/2024/10/9 0:52:27 标签: react.js, 前端, 前端框架

Redux使用

    • 1. 引入Redux
      • 2. 创建Redux State Slice

1. 引入Redux

# NPM
npm install @reduxjs/toolkit react-redux

# Yarn
yarn add @reduxjs/toolkit react-redux

2. 创建Redux State Slice

  1. countSlice.jsx
import {createSlice} from '@reduxjs/toolkit'

const countSlice = createSlice({
	name:"count",
	iniaialState:{
		value: 0
	},
	reducerx:{
		incr(state,action){
			state.value = state.value+action.payload
		},
		decr(state,action){
			state.value = state.value - action.payload
		}
	}
})

export const {incr,decr} = countSlice.actions
export const {reducer:countReducer} = countSlice

  1. 创建ReduxStore
    index.jsx
import {configureStore} from '@reduxjs/toolkit'
import {countReducer} from './countSlice.jsx'
export defult configureStore({
	reducer: {
		count: countReducer
	}
})
  1. React中使用ReduxStore
    main.jsx
import React from 'react'
import ReactDOM from 'react-dom'
import './index.css'
import App from './App'
import store from './store'
import { Provider } from 'react-redux'

createRoot(document.getElementById('root')).render(
  <Provider store={store}>
    <App />
  </Provider>
)
  1. React组件中使用Redux的状态和操作
import React from 'react'
import {useSelector,useDispatch} from 'react-redux'
import {decr,incr} from './store/countSlice'

export const App =() => {
	const count = useSelector(state => state.count);
	const dispatch = useDispatch();
	return (
		<div>
		<span>{count}</span>
		<buttononClick={() => dispatch(incr())} >
          add
        </button>
		</div>
	
	)

}


http://www.niftyadmin.cn/n/5695079.html

相关文章

AtCoder Beginner Contest 373

D - Hidden Weights 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; #include <bits/stdc.h> #define fi first; #define se second;using namespace std;typedef long long LL; typedef pair<int,int> PII;const int N2e510; const LL lnf0x3f3f3f3f3f3f3…

富格林:发现潜在欺诈安全交易

富格林指出&#xff0c;在全球经济不确定性加剧的背景下&#xff0c;黄金的避险优势再次吸引了投资者的关注。尤其是在今年&#xff0c;随着多种因素的变化&#xff0c;金价的走势引发了市场的广泛讨论。但事实上黄金与其他投资品类相似&#xff0c;也存在潜在的欺诈套路导致我…

【进阶OpenCV】 (4)--图像拼接

文章目录 图像拼接1. 读取图片2. 计算图片特征点及描述符3. 建立暴力匹配器4. 特征匹配5. 透视变换6. 图像拼接 总结 图像拼接 图像拼接是一项将多张有重叠部分的图像&#xff08;这些图像可能是不同时间、不同视角或者不同传感器获得的&#xff09;拼成一幅无缝的全景图或高分…

idea中的Java版本运行错误

1.java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field com.sun.tools.javac.tree.JCTree qualid 这个错误通常是由于升级到Java 21后,Lombok等库无法正确访问内部的Java编译器API导致的。具体原因如下: Lombok在…

No.13 笔记 | 网络安全防护指南:从法律法规到技术防御

一、法律法规 《中华人民共和国网络安全法》要点 遵守法律&#xff1a;所有个人和组织在使用网络时&#xff0c;必须遵守宪法和法律&#xff0c;不得利用网络从事危害国家安全等活动。 个人信息保护&#xff1a;禁止非法获取、出售或提供个人信息。若违反但未构成犯罪&#x…

Verilog开源项目——百兆以太网交换机(九)表项管理模块设计

Verilog开源项目——百兆以太网交换机&#xff08;九&#xff09;表项管理模块设计 &#x1f508;声明&#xff1a;未经作者允许&#xff0c;禁止转载 &#x1f603;博主主页&#xff1a;王_嘻嘻的CSDN主页 &#x1f511;全新原创以太网交换机项目&#xff0c;Blog内容将聚焦整…

Sym-NCO:利用对称性进行神经组合优化

文章目录 Abstract1 Introduction2 组合优化马尔可夫决策过程中的对称性2.1 组合马尔可夫决策过程2.2 CO-MDP中的对称性3 对称神经组合优化3.1 通过LSym-RL正则化REINFORCE的问题和解决方案对称性3.2 通过预先识别的对称性学习不变表示: L i n v L_{inv} Linv​4 相关工作5 Ex…

TCP BIC 的拟合函数分析

前面说了这么多&#xff0c;还没有对 bic 的数学性质进行分析&#xff0c;本文补上。 tcp reno 完全依赖 ack 时钟以 rtt 为单位线性增窗&#xff0c;增窗速度与 rtt 负相关&#xff0c;如何在 rtt 比较大时增加增窗速度&#xff0c;这就是 bic&#xff0c;以二分替换遍历。 …