useCallback is a React hook that helps you optimize your code by preventing unnecessary re-creations of functions.
In simple terms:
- When you define a function inside a React component, that function gets recreated every time the component re-renders.
useCallbacklets you tell React, “Only recreate this function if certain values change.” This can save performance by avoiding unnecessary work.
For example, if you have a button that triggers a function, but the function doesn’t need to change every time the component re-renders, useCallback will ensure the function stays the same unless specific values (called dependencies) change.
Here’s how it looks:
const myFunction = useCallback(() => {
// Function logic here
}, [dependency1, dependency2]);
The function will only be recreated if dependency1 or dependency2 change. This is useful when passing functions to child components or when functions are used in places like event handlers.