When should I use useCallback over useMemo?
When you pass a function as a prop to a child wrapped in React.memo, or when a handler is used in a child's effect. The stable function reference prevents unnecessary re-renders and effect re-runs.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in useMemo vs useCallback: What's the Real Difference?
useMemo memoizes a value by running a function and caching the result. useCallback memoizes a function reference without running it. Use useMemo for expensive computations and useCallback for stable function references passed to memoized children.
No, though they are related. useCallback is essentially useMemo for a function reference. Use useCallback when you need a stable function, and useMemo when you need to cache a computed value. They have distinct purposes.
When you have an expensive computation, like sorting a list or deriving a value, that would otherwise run on every render. Also when you want to keep an object or array reference stable for memoized children.
Still have questions?
Browse all our FAQs or reach out to our support team
