欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【React】使用reduxjs/toolkit进行状态管理

【React】使用reduxjs/toolkit进行状态管理

2025/3/19 8:51:02 来源:https://blog.csdn.net/weixin_61241731/article/details/146335014  浏览:    关键词:【React】使用reduxjs/toolkit进行状态管理

在我们的项目中通常需要维护一个状态管理器来支持我们进行跨组件的数据通讯,react生态提供了reduxjs/toolkit来进行状态管理
首先我们安装一下必要的依赖

npm install react-redux @reduxjs/toolkit

接下来在我们的工程项目的src同级目录里面新建文件夹store
文件夹内新建index.jsuserStore.js文件
userStore文件:

import { createSlice } from "@reduxjs/toolkit";const initialState = {userName: '',token: '',  
}export const userSlice = createSlice({name: "user",initialState,reducers: {setUser: (state, action) => {state.userName = action.payload.userName;state.token = action.payload.token;},removeUser: (state) => {state.user = null;state.token = null;},},
});export const { setUser, removeUser } = userSlice.actions;export default userSlice.reducer;

index.js文件

import { configureStore } from '@reduxjs/toolkit';
import userReducer from './userStore';export const store =  configureStore({reducer: {user: userReducer}
});

项目入口文件index.js

import App from './App'
import { Provider } from 'react-redux';
import { store } from './store/index';const root = ReactDOM.createRoot(document.getElementById('root'))root.render(<React.StrictMode><Provider store={store}><App /></Provider></React.StrictMode>
)

在组件中使用:

const userName = useSelector(state => state.user.userName);
const dispatch = useDispatch();
const setUserInfo = ()=>{dispatch({type: 'user/setUser',payload: {userName: 'admin',token:'6666666'}})}

这样,一个简单的状态管理配置就完成了!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词