Задать вопрос
  • Почему в React не обновляется props компонента при изменении хранилища Redux в другом компоненте?

    TTATPuOT
    @TTATPuOT Автор вопроса
    https://code.patriotovsky.ru/
    Спасибо. Но решение было в том, что в reducer'е нужно возвращать новый объект state, а не старый, который передан в аргументах функции. А reducer я как раз таки и не опубликовал.
    На всякий случай вот НЕПРАВИЛЬНЫЙ УЧАСТОК КОДА:
    function reducer(state = initialState, action) {
        if (action.type === 'new') {
            state.playload = action.playload;
        }
        return state;
    }
    const store = createStore(reducer);


    Должно быть вот так:
    function reducer(state = initialState, action) {
        if (action.type === 'new') {
            return Object.assign({}, state, {
                playload: action.playload
            })
        }
        return state;
    }
    const store = createStore(reducer);

    Грубо говоря, каждый раз нужно возвращать не тот state который был передан в reducer, а новый. Если речь не идёт о примитивах, о чём правильно заметили в комментариях.
    Спасибо всем за ответы.
    Ответ написан
    2 комментария