Вопрос проверяет понимание базового элемента архитектуры Redux и принципов предсказуемого управления состоянием.
Reducer — это функция, которая описывает, как изменяется состояние приложения.
Она принимает текущее состояние и действие.
Reducer всегда возвращает новое состояние.
Внутри reducer запрещены побочные эффекты.
Reducer — это сердце Redux, именно он определяет логику изменения состояния.
Reducer — это чистая функция вида (state, action) => newState, которая описывает, как состояние должно измениться в ответ на действие.
Алгоритм простой:
Redux передаёт текущий state
Redux передаёт action
Reducer анализирует тип действия
Возвращается новое состояние
function counterReducer(state = 0, action) {
if (action.type === 'increment') {
return state + 1;
}
return state;
}
Reducer:
не изменяет state напрямую
не вызывает API
не работает с таймерами
всегда возвращает одинаковый результат для одинаковых входных данных
Это делает поведение приложения предсказуемым.
Reducer:
централизует бизнес-логику
упрощает тестирование
делает изменения состояния прозрачными
Reducer — это чистая функция, описывающая, как состояние изменяется со временем. Это основа предсказуемости Redux.