useMemo кеширует результат вычисления по зависимостям, а useRef хранит изменяемое значение в current между рендерами без автоматического пересчёта.
Для чего нужен useMemo и чем он отличается от useRef?
useMemo кеширует результат вычисления по зависимостям, а useRef хранит изменяемое значение в current между рендерами без автоматического пересчёта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
useMemo кеширует результат вычисления по зависимостям, а useRef хранит изменяемое значение в current между рендерами без автоматического пересчёта.
useMemo выполняет чистое вычисление во время render, когда зависимости изменились; это оптимизация, а не гарантия вечного хранения. Ref удобен для DOM, таймера или императивного состояния. Изменение current не запускает рендер. Если значение должно управлять отображением, обычно нужен state, а не замена его одним из этих hooks.