memos/web/src/store/modules/user.ts
2022-05-22 12:41:15 +08:00

31 lines
643 B
TypeScript

import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface State {
user?: User;
}
const userSlice = createSlice({
name: "user",
initialState: {} as State,
reducers: {
setUser: (state, action: PayloadAction<User | undefined>) => {
return {
...state,
user: action.payload,
};
},
patchUser: (state, action: PayloadAction<Partial<User>>) => {
return {
...state,
user: {
...state.user,
...action.payload,
} as User,
};
},
},
});
export const { setUser, patchUser } = userSlice.actions;
export default userSlice.reducer;