You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailchat/shared/redux/slices/user.ts

23 lines
562 B
TypeScript

import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import type { UserBaseInfo, UserLoginInfo } from '../../model/user';
interface UserState {
info: UserLoginInfo | null;
friends: UserBaseInfo[];
}
const initialState: UserState = { info: null, friends: [] };
const userSlice = createSlice({
name: 'user',
initialState,
reducers: {
setUserInfo(state, action: PayloadAction<UserLoginInfo>) {
state.info = action.payload;
},
},
});
export const userActions = userSlice.actions;
export const userReducer = userSlice.reducer;