React useMemo vs useCallback: Optimization Techniques for Performance

⚛️ Top 150 React Interview Questions – 29/150 📌 Topic: useMemo vs useCallback 🔹 WHAT is the difference? The core difference is what they memoize (store): useMemo → stores the result of a function (value, object, array) useCallback → stores the function itself In short: useMemo → “Save the output” useCallback → “Save the function” 🔹 WHY do we need both? Both are used for performance optimization, but they solve different problems: Use useMemo when you want to avoid repeating an expensive calculation (e.g. sorting a large list, heavy filtering, complex math) Use useCallback when you want to avoid re-creating a function on every render, which helps prevent unnecessary re-renders of child components. 🔹 HOW do they look in code? useMemo → returns a VALUE const squaredValue = useMemo(() => { return number * number; }, [number]); useCallback → returns a FUNCTION const handleClick = useCallback(() => { console.log("Button Clicked!"); }, [dependency]); 🔹 WHERE to use which? useMemo Avoid expensive calculations Filtering, sorting, complex math When you need a stable value / object useCallback Passing functions to child components Especially with React.memo When you need a stable function reference 📝 Summary for your notes: If you need to store a Number, String, Object, or Array that takes time to compute → useMemo If you need to pass a Function to a child component and keep it stable → useCallback Think like this: useMemo → saves the answer useCallback → saves the recipe 👇 Comment “React” if this series is helping you 🔁 Share with someone preparing for React interviews #ReactJS #FrontendDevelopment #ReactInterview #JavaScript #WebDevelopment #LearningInPublic #Top150ReactQuestions

  • text, letter

To view or add a comment, sign in

Explore content categories