Задать вопрос
@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 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 2
black1277
@black1277
Вольный стрелок
Строго говоря - некорректно. Из определения редюсера - это должна быть чистая функция. Чистая функция должна брать данные только из своих аргументов и не иметь сайд-эффектов.
Если вы используете объект определенный вне ф-и (initialState -пусть даже он и лежит рядом) - она перестает быть чистой. Хотя работать будет, но возможно всякие линты могут ругаться, выдавать warning-и при компиляции.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
Да, только должно быть просто return initialState;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽