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

redux 2024 (2)react中使用redux

安装

npm install react-redux 
npm install @reduxjs/toolkit react-redux
import {createSlice} from '@reduxjs/toolkit' //使用 createSlice 创建 Redux "切片" reducer
const counterStore = createSlice({name:"counter",// 初始化stateinitialState:{count:0},// 修改数据的方法 同步的方法reducers:{//。通过 createSlice,你可以定义一个状态的初始值(initialState)、一组修改状态的函数(reducers)increment(state){state.count++},decrement(state){state.count--}}
})// 解构出actions
const {increment,decrement} = counterStore.actions //虽然 createSlice 主要是用来定义 reducer 的,但是它也负责生成 actions,因此你会在 createSlice 的返回值中看到 actions 属性。// 获取reducer
const reducer = counterStore.reducer// 按需导出actionCreater
export {increment,decrement}// 默认导出reducer
export default reducer //只允许有一个默认导出
import { configureStore } from "@reduxjs/toolkit"; //configureStore 接受一个名为 reducer 的函数作为命名参数;configureStore 会自动使用良好的默认设置来设置 store
import counterReducer from './modules/counterStore'
configureStore({reducer:{counter:counterReducer}
})
export default store

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import App from './App.jsx'
import './index.css'
import {Provider} from 'react-redux'
import store from './store/index.js'createRoot(document.getElementById('root')).render(<StrictMode><Provider store={store}><App /></Provider></StrictMode>,
)

展示数据

 

修改数据

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

 


http://www.mrgr.cn/news/45383.html

相关文章:

  • 一起发现CMake太美-08-开启CMake之旅-SimpleLogWithTest(上)
  • 光控资本:周几买国债逆回购周末是计算利息的呢?
  • pg数据库导入数据序列重复
  • 计算机毕业设计 | SpringBoot 房屋租赁网 租房买房卖房平台(附源码)
  • 音频进阶学习四——滤波器和线性时不变系统
  • 【python+requests】接口自动化测试
  • 浅谈专项测试之弱网络测试
  • tcpdump-arm平台移植
  • 软件测试之压力测试
  • 华媒舍:商务视频高效方法,帮助企业提高转化率
  • 自动识别json结构数据转换为建表SQL语句(Python 代码 示例数据来源于某眼查)
  • Java Web 开发
  • 外国钞票面值检测系统源码分享
  • 传统身份安全的局限性
  • C++ 2D平台游戏开发案例
  • 承兑汇票识别接口C#部署示例代码、银行承兑汇票api
  • 【AIGC】通过OpenAi Canvas修改论文(附40条论文优化指令)
  • OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
  • 【机器学习基础】Transformer学习
  • 微信图片的超能力:5大隐秘功能揭秘,让你成为信息处理大师