Почему при переходе на другой url (react-router-dom) не сохраняется состояние в redux-toolkit?

Конфигурация:
Vite
Typescript
react-router-dom 6.11.2
redux toolkit 1.9.5


Есть следующий код в сторе:
import { configureStore } from "@reduxjs/toolkit";
import { userReducer } from "@store/user/user.slice.ts";

export const store = configureStore({
    reducer: {
        user: userReducer
    }
})

export type RootState = ReturnType<typeof store.getState>
export type AppDispatch = typeof store.dispatch

И слайс юзера:
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { IUser } from "@shared/api";

const initialState: IUser = {
    id: 0,
    email: ''
}

const userSlice = createSlice({
    name: 'user',
    initialState,
    reducers: {
        setUser: (state, action: PayloadAction<IUser>) => {
            state.id = action.payload.id
            state.email = action.payload.email
        }
    }
})

export const {setUser} = userSlice.actions
export const userReducer = userSlice.reducer

При входе в аккаунт юзер устанавливается с помощью полученных данных с бэка:
// fetch - функция, которую предоставляет кастомный хук. На это можете не обращать внимание.
fetch(`${AUTH_URL}/login`, 'post', authData,
            (user: IUser) => {
                dispatch(setUser(user))
            }
)

Все это отрабатывает нормально, но при переходе на другую страницу user снова становится initialState. Не понимаю, в чем проблема.
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы