Всегда ли создание новой callback-функции приводит к ререндеру дочернего компонента? Как происходит сравнение?

Нет, новая callback-ссылка сама по себе не запускает рендер; она влияет на сравнение props, когда обновление уже дошло до дочернего компонента.

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

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

Нет, новая callback-ссылка сама по себе не запускает рендер; она влияет на сравнение props, когда обновление уже дошло до дочернего компонента.

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

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

Нет, новая callback-ссылка сама по себе не запускает рендер; она влияет на сравнение props, когда обновление уже дошло до дочернего компонента.

Обычный потомок обычно рендерится вместе с родителем. Для React.memo новый function prop отличается по Object.is и мешает пропустить обновление. useCallback может стабилизировать ссылку, но не отменяет изменения других props, context или собственного state. Пользовательский comparator, игнорирующий callback, опасен устаревшими замыканиями.

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

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

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

Подробнее