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