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