@jjsplash

Можно ли так обнулить state в reducer?

Здравствуйте! Корректно ли будет в редьюсере таким образом вернуть стейт в начальное значение?

let initialState = {
    emailText: '',
    passText: '',
    user: {},
    isAuth: false,
};

const authReducer = (state = initialState, action) => {
    switch (action.type) {
        case LOGOUT: {
            return {
              state: initialState,
            }
        }
  • Вопрос задан
  • 134 просмотра
Решения вопроса 2
black1277
@black1277
Вольный стрелок
Строго говоря - некорректно. Из определения редюсера - это должна быть чистая функция. Чистая функция должна брать данные только из своих аргументов и не иметь сайд-эффектов.
Если вы используете объект определенный вне ф-и (initialState -пусть даже он и лежит рядом) - она перестает быть чистой. Хотя работать будет, но возможно всякие линты могут ругаться, выдавать warning-и при компиляции.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
Да, только должно быть просто return initialState;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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