В чем разница между Redux Action и Reducer

«В чем разница между Redux Action и Reducer» — вопрос из категории Библиотеки, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Action — это простой объект, который описывает изменение состояния. Обязательно содержит поле type и может включать дополнительные данные (payload).

Reducer — чистая функция, которая принимает текущее состояние и action, возвращает новое состояние. Не изменяет исходный state, а создает новый.

// Action
const increment = { type: 'INCREMENT', payload: 1 };

// Reducer
const counterReducer = (state = 0, action) => {
  switch (action.type) {
    case 'INCREMENT':
      return state + action.payload;
    default:
      return state;
  }
};

Ключевые отличия:

  • Action — что произошло (описание события).
  • Reducer — как состояние меняется (логика обновления).