Встречается на собеседованиях • сегодня
Возвращает ли Reducer новое состояние, или меняет старое
Reducer всегда должен возвращать новое состояние, а не изменять старое. Это фундаментальное правило Redux, основанное на принципах иммутабельности.
Если reducer изменяет существующий state напрямую, Redux не сможет корректно определить изменения, что приведёт к проблемам с обновлением UI и нарушит работу devtools.
Пример правильного reducer:
javascript
function counterReducer(state = 0, action) {
switch(action.type) {
case 'INCREMENT':
return state + 1; // Возвращаем новое значение
case 'DECREMENT':
return state - 1;
default:
return state;
}
}Для сложных структур используйте spread-оператор или библиотеки типа Immer:
javascript
case 'UPDATE_USER':
return {
...state,
user: {
...state.user,
name: action.payload
}
};
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы