/
lizardking
/
react_final
Обзор
Документация
Войти
/
lizardking
/
react_final
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
old
src/shared/store/slices/user.ts
35 строк
898 B
LizardKing
Initial commit
22 ноя 2025, 15:56
22 ноя 2025, 15:56
0df0d9e
Код
Авторство
О чём код?
import type { PayloadAction } from '@reduxjs/toolkit' import { createSlice } from '@reduxjs/toolkit' type UserState = { user: Partial<User> | null accessToken: string } const createInitState = (): UserState => ({ user: null, accessToken: '', }) export const userSlice = createSlice({ name: 'user', initialState: createInitState(), reducers: { setAccessToken(state, action: PayloadAction<Pick<Token, 'accessToken'>>) { state.accessToken = action.payload.accessToken }, clearUser() { return createInitState() }, setUser: (state, action: PayloadAction<UserState['user']>) => { state.user = action.payload }, }, selectors: { getUser: (state: UserState) => state.user, getAccessToken: (state: Token) => state.accessToken, }, }) export const userActions = { ...userSlice.actions } export const userSelectors = userSlice.selectors