Задать вопрос
@jjsplash

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽