Путаница в том, как правильно использовать редуктор в Redux - PullRequest
0 голосов
/ 28 марта 2020

Я изучал Redux и хотел правильно понять, как работает редуктор. Если вы посмотрите на редуктор под названием titleReducer:

const initialState={
titleColor: null,
}

const titleReducer = (state = initialState, action) => {

  switch (action.type) {
    case TURN_TITLE_GREEN: 
      return {
        ...state,
        titleColor: 'green'
      }
    case UPDATE_TITLE: 
      return {
        ...state,
        title: action.payload
      }
    default: return state;
  }
}

Итак, я хотел бы задать несколько вопросов по приведенному выше коду. Во-первых, представьте, что есть три редуктора: reducer1. reducer2 и titleReducer (я знаю глупый пример, но потерпите меня). Вопрос в том, почему, даже если у titleReducer есть только одно свойство titleColor, нам нужно создать новую копию состояния, используя ... state. Что, если мы просто используем:

{
            title: action.payload
          }

Второй вопрос в порядке каждый раз, когда titleReducer получает действие "TURN_TITLE_GREEN", редуктор принимает предыдущее состояние, создает новую копию и отправляет обратно компоненту. Вопрос «откуда взято предыдущее состояние? Я имею в виду, правда ли, что когда titleReducer получает действие TURN_TITLE_GREEN, он создает новую копию и в то же время переводит titleColor: green в состояние, которое будет служить предыдущее состояние в следующий раз. Это правда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...