useCallback hook in React js 2025

useCallback Hook in React JS 2025

`useCallback` is a React Hook that returns a memoized version of the callback function. It's mainly used to prevent unnecessary re-creation of functions during re-renders — especially helpful when passing callbacks to child components that rely on reference equality to avoid re-renders.


import React, { useState, useCallback } from 'react';

const ExpensiveComponent = React.memo(({ onClick }) => {
  console.log('ExpensiveComponent rendered');
  return ;
});

export default function App() {
  const [count, setCount] = useState(0);
  const [value, setValue] = useState('');

  const handleClick = useCallback(() => {
    console.log('Button clicked!');
  }, []);

  return (
    

useCallback Hook Example

setValue(e.target.value)} placeholder="Type something" className="border p-2 rounded mb-4 w-full" />
); }

🧠 Why useCallback?

  • It helps avoid unnecessary re-renders of child components.
  • Keeps function reference stable unless its dependencies change.

✅ When to use:

  • When passing callbacks to memoized components (React.memo).
  • When callback functions are heavy and don’t need to be recreated on every render.