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()

效果

相关推荐
梓雨枔1 小时前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心1 小时前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
ITOM运维行者2 小时前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
前端·javascript·后端
hai_android2 小时前
一个公式看懂动态跨表查找:P8 + VLOOKUP
前端·javascript·vue.js
杨利杰YJlio3 小时前
Tibo的28天计划DAY1GPT-6提速50%意味着什么?
前端·javascript·后端
鬼手点金3 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
晴天小庭3 小时前
Sael——基于Jev的AI中转站的安全风控网关,现已开源
人工智能·后端·react.js
OpsEye4 小时前
兼顾数据安全与成本,私有化 AI 网关正在成为企业标配
javascript·ai编程
铁皮饭盒4 小时前
还是网页端, 46mb模型, 抠图功能升级了, 抠任意主体, 还是不要显卡, 不要python, 满意吗?
前端·javascript·后端
福兮说5 小时前
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出
javascript·网络·网络协议·tcp/ip·mysql·golang