Для функции-prop используют useCallback, для вычисленного объекта или массива — useMemo, а для пропуска render потомка — React.memo при подходящих условиях.
Что ещё можно мемоизировать, чтобы дочерние компоненты не перерендеривались? Если в компонент передаётся функция — что использовать?
Для функции-prop используют useCallback, для вычисленного объекта или массива — useMemo, а для пропуска render потомка — React.memo при подходящих условиях.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для функции-prop используют useCallback, для вычисленного объекта или массива — useMemo, а для пропуска render потомка — React.memo при подходящих условиях.
Мемоизация ссылки полезна лишь если потребитель действительно использует её стабильность. Изменившиеся зависимости создадут новое значение, а обновление state/context потомка всё равно может вызвать render. Не удаляйте зависимости ради кеша и сначала проверьте, что лишний render заметно дорог.