Junior — Middle
101
Quel principe distingue useMemo de useCallback dans React?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
Главное отличие между useMemo и useCallback в React заключается в том, что:
- useMemo мемоизирует значение, возвращаемое функцией.
- useCallback мемоизирует саму функцию, возвращая её же.
То есть useMemo используется, когда нужно запомнить результат вычисления (например, сложное вычисление), чтобы не пересчитывать его при каждом рендере, а useCallback — когда нужно сохранить ссылку на функцию, чтобы не создавать её заново, что важно при передаче функций в дочерние компоненты или оптимизации с React.memo.
Пример:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(a), [a]);
Таким образом, useMemo возвращает значение, а useCallback — функцию.