Встречается на собеседованиях • сегодня
Почему в Redux reducer должен быть чистой функцией
Чистый редюсер гарантирует предсказуемость состояния. Он должен:
- Не мутировать входные данные (state и action)
- Не иметь побочных эффектов (API-вызовы, Math.random() и т.д.)
- Возвращать одинаковый результат для одинаковых аргументов
Пример:
javascript
// Чистая функция
const pureReducer = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT':
return state + 1; // Новый state, а не мутация
default:
return state;
}
};
// Нечистая функция (антипаттерн)
const impureReducer = (state = {count: 0}, action) => {
state.count += 1; // Мутация!
return state;
};Redux полагается на иммутабельность для:
- Определения изменений через сравнение ссылок
- Работы time-travel debugging
- Предсказуемости состояния приложения

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы