Встречается на собеседованиях • сегодня

Как useMemo сверяет пропсы

useMemo сравнивает зависимости (пропсы) поверхностно (shallow comparison), используя Object.is для каждого элемента массива зависимостей. Если хотя бы одно значение изменилось, хук пересчитает мемоизированное значение.

Пример:

jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

Нюансы:

  1. Сравниваются текущие и предыдущие значения зависимостей
  2. Для объектов/массивов сравниваются ссылки, а не содержимое
  3. Если передать пустой массив зависимостей [], значение вычислится только один раз
  4. Если не передать массив вообще, значение будет пересчитываться при каждом рендере

Важно: useMemo не гарантирует, что вычисление не произойдет - React может сбросить мемоизацию для оптимизации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы