Опишите, что происходит при нажатии на кнопку в React-компоненте со счётчиком: как работает useState, как React понимает, что нужно обновить именно эту часть DOM?

Обработчик вызывает setter состояния, React планирует новый render и сравнивает результат с предыдущим деревом, затем применяет нужные изменения DOM.

Короткий ответ

Что ответить на собеседовании

Обработчик вызывает setter состояния, React планирует новый render и сравнивает результат с предыдущим деревом, затем применяет нужные изменения DOM.

Подробный разбор

Ответ с пояснениями

Обработчик вызывает setter состояния, React планирует новый render и сравнивает результат с предыдущим деревом, затем применяет нужные изменения DOM.

Для обновления на основе прошлого значения надёжно setCount(c => c + 1). State связан с позицией компонента и его идентичностью, а не с произвольной переменной. Обновление может привести к рендеру компонента и потомков, но DOM меняется только там, где изменился результат; render и commit — разные этапы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее