Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.
Есть React-компонент с счётчиком (useState), кнопкой, которая увеличивает счётчик на 1, и списком из 100 элементов. Что происходит при нажатии на кнопку?
Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Изменение счётчика запускает новый render компонента. Код построения списка также может выполниться, но это не означает пересоздание всех 100 DOM-элементов.
React сопоставляет результат с предыдущим деревом и в commit меняет необходимые части. Дочерние компоненты обычно рендерятся вместе с родителем, если нет применимой мемоизации; стабильные ключи помогают сохранить их идентичность. Если список вынесен и получает неизменные props, React.memo может убрать лишнюю работу после измерений.