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

react使用react-redux状态管理

1、安装

npm install react-redux

2、创建store.js

import { createStore } from 'redux';

// 定义初始状态
const initialState = {
    counter: 888
};

// 定义 reducer 函数,根据 action 类型更新状态
function reducer(state = initialState, action) {
    switch (action.type) {
        case 'INCREMENT':
            return {...state, counter: state.counter + 1 };
        case 'DECREMENT':
            return {...state, counter: state.counter - 1 };
        default:
            return state;
    }
}

// 创建 store
const store = createStore(reducer);

export default store;

在这里插入图片描述
3、在主文件index.tsx全局引入

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
// redux全局参数
import { Provider } from 'react-redux';
import store from './store/store.js';

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
);
root.render(
	<Provider store={store}>
		<React.StrictMode>
			<App />
		</React.StrictMode>
	</Provider>
);
reportWebVitals();

在这里插入图片描述
4、使用
1、在两个tex文件引入使用查看效果
第一个tex文件

//引入
import store from '../store/store';

console.log("大得333")
//获得打印
console.log(store.getState().counter)
//修改
store.getState().counter = 6666

第二个文件

import store from './store/store';
function dade(){
	// 获取状态
	console.log("大得")
	console.log(store.getState().counter)
	store.getState().counter = 999
	console.log(store.getState().counter)
}
dade()

效果
在这里插入图片描述


http://www.kler.cn/a/511231.html

相关文章:

  • 【cursor重构谷粒商城】03——谷粒商城技术架构选型存在哪些不足?
  • 【Git】Git配置
  • 【PowerQuery专栏】PowerQuery的函数Excel.WorkBook
  • Jenkins-pipeline Jenkinsfile说明
  • 四、CSS效果
  • GaussDB日常维护操作
  • CSS3 动画详解
  • 废品回收小程序,数字化回收时代
  • 网络安全(渗透)
  • DATACOM-华为数通解决方案SDN、iMaster
  • C语言二级查漏补缺
  • 数据结构——双向链表(带头、循环)
  • Restormer: Efficient Transformer for High-Resolution Image Restoration解读
  • 森林网络部署,工业4G路由器实现林区组网远程监控
  • STM32 物联网智能家居 (四) 设备子系统之分层框架
  • 聊一聊如何适应AI时代
  • Android 导出CSV文件乱码问题处理
  • 【数据结构】线性表-单链表
  • macOS Sequoia 15.3 beta3(24D5055b)发布,附黑、白苹果镜像下载地址
  • Spring Boot 集成MyBatis-Plus