Зачем нам возвращать состояние из редуктора в Redux? - PullRequest
0 голосов
/ 06 октября 2019

Я новичок в Redux и пытался понять, как правильно работать с Redux, но у меня возникла путаница, почему нам нужно возвращать состояние в редуктор. Вот код:

const initialState = {
  counter: 0
};

const reducer = (state = initialState, action) => {
  if (action.type === "INCREMENT") {
    return {
      counter: state.counter + 1
    };
  }
  return state;  // why do we need to use this code?
};

export default reducer;

Ответы [ 2 ]

2 голосов
/ 06 октября 2019

Как правило, редуктор получает предыдущее состояние предопределенного объекта в качестве аргумента, и в каждом отдельном случае функция должна возвращать новое состояние объекта.

В документации редукторов Redux вы можете увидеть следующую инструкцию:

Редуктор - это чистая функция, которая принимает предыдущее состояние и действие и возвращает следующее состояние.

Подробнее о Обработка действий в Redux.

0 голосов
/ 06 октября 2019

Если вы видите документы,

Редукторы указывают, как изменяется состояние приложения в ответ на действия, отправленные в хранилище. Помните, что действия только описывают то, что произошло, но не описывают, как изменяется состояние приложения.

Поэтому, когда вы вызываете действие, редуктор должен возвращать новое состояние на основе этого действия. В вашем случае, (action.type === "INCREMENT), если action.type не соответствует вашим случаям, и вы не установили ни одного случая по умолчанию, он вернет null value.

Теперь ваше состояние избыточности не будет упоминаться о вашем задании. укажите состояние, если вы не вернете никакого значения, поэтому для сохранения данных состояния в хранилище редуктора необходимо состояние по умолчанию.

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