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

Специфика работы редюсера?

Привет! Допустим, у нас есть редюсер:
export const reducer = (state = initialState, action) => {
    const result = Object.assign({}, state);
    switch (action.type) {
        case 'TEST_ACTION':
            return result;
        default:
            return result;
    };
};

По логике, с помощью Object.assign() мы создаем новый объект и даже если мы его не изменяем редукс должен перерендерить подписанные компоненты. Но этого не происходит. Почему?
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Merion Academy
    Frontend-разработка на React
    4 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Набросал пример, экшен отдельно выносить не стал, думаю это не смутит.

Перерендер произойдет - https://codesandbox.io/s/m43v2pmxj9
(по клику на кнпоку происходит console.log 'render')

p.s. следовательно, если у вас не работает - то либо где-то ошиблись в подписке (в mapStateToProps), либо где-то еще. Сделайте так же пример на codesandbox, разберемся.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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