Встречается на собеседованиях • сегодня
Сколько будет перерисовок, если внутри useEffect вызвать 3 setState
Вызов 3 setState внутри одного useEffect приведёт к одной перерисовке, если:
- Все
setStateобновляют одну и ту же часть состояния (React батчит их автоматически). - Нет других эффектов или условий, вызывающих ререндер.
Пример:
jsx
useEffect(() => {
setCount(1); // Батчится
setName('John'); // Батчится
setActive(true); // Батчится
}, []);
// Один ререндер вместо трёхИсключение: если setState зависит от предыдущего состояния (через колбэк), React может разбить на 2 ререндера:
jsx
setCount(prev => prev + 1); // Может вызвать отдельный ререндерОптимизация: используйте useReducer или объединяйте состояние в один объект, если логика сложная.

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