[имя] почему различие примитивов и объектов важно для React.memo и как избежать лишнего рендера из-за новой функции?

React.memo сравнивает props через Object.is: одинаковые примитивы совпадают, а заново созданные объекты и функции обычно имеют другую ссылку.

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

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

React.memo сравнивает props через Object.is: одинаковые примитивы совпадают, а заново созданные объекты и функции обычно имеют другую ссылку.

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

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

React.memo сравнивает props через Object.is: одинаковые примитивы совпадают, а заново созданные объекты и функции обычно имеют другую ссылку.

Если родитель каждый раз передаёт новую функцию, useCallback с корректными зависимостями может сохранить её идентичность. Но мемоизация нужна только при полезной границе и измеримом выигрыше. Нельзя игнорировать callback в comparator, если он захватывает меняющиеся данные: ребёнок может получить устаревшее поведение.

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

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

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

Подробнее