В чем разница между Actions и Reducers

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

Ответ

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

Reducers — это чистые функции, которые принимают текущее состояние и action, возвращают новое состояние. Они определяют, как состояние изменяется в ответ на action.

Пример:

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

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

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

  • Actions — это события, reducers — обработчики.
  • Actions не изменяют состояние, reducers — да.
  • Reducers должны быть чистыми (без side effects).