Есть React-компонент с счётчиком (useState), кнопкой, которая увеличивает счётчик на 1, и списком из 100 элементов. Что происходит при нажатии на кнопку?

Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.

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

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

Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.

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

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

Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.

React сопоставляет результат с предыдущим деревом и в commit меняет необходимые части. Дочерние компоненты обычно рендерятся вместе с родителем, если нет применимой мемоизации; стабильные ключи помогают сохранить их идентичность. Если список вынесен и получает неизменные props, React.memo может убрать лишнюю работу после измерений.

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

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

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

Подробнее