@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() мы создаем новый объект и даже если мы его не изменяем редукс должен перерендерить подписанные компоненты. Но этого не происходит. Почему?
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Набросал пример, экшен отдельно выносить не стал, думаю это не смутит.

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

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

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

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