mirror of
https://github.com/PlayEdu/frontend.git
synced 2025-12-23 07:09:34 +08:00
store
This commit is contained in:
10
src/store/index.ts
Normal file
10
src/store/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { configureStore } from "@reduxjs/toolkit";
|
||||
import loginUserReducer from "./user/loginUserSlice";
|
||||
|
||||
const store = configureStore({
|
||||
reducer: {
|
||||
loginUser: loginUserReducer,
|
||||
},
|
||||
});
|
||||
|
||||
export default store;
|
||||
33
src/store/user/loginUserSlice.ts
Normal file
33
src/store/user/loginUserSlice.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
type UserStoreInterface = {
|
||||
user: any;
|
||||
isLogin: boolean;
|
||||
};
|
||||
|
||||
let defaultValue: UserStoreInterface = {
|
||||
user: null,
|
||||
isLogin: false,
|
||||
};
|
||||
|
||||
const loginUserSlice = createSlice({
|
||||
name: "loginUser",
|
||||
initialState: {
|
||||
value: defaultValue,
|
||||
},
|
||||
reducers: {
|
||||
loginAction(stage, e) {
|
||||
stage.value.user = e.payload.user;
|
||||
stage.value.isLogin = true;
|
||||
},
|
||||
logoutAction(stage) {
|
||||
stage.value.user = null;
|
||||
stage.value.isLogin = false;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export default loginUserSlice.reducer;
|
||||
export const { loginAction, logoutAction } = loginUserSlice.actions;
|
||||
|
||||
export type { UserStoreInterface };
|
||||
Reference in New Issue
Block a user