# useCallback deps array is about *when to recreate*, not what's used inside

**Date:** 2025-11-24  
**Tags:** React, Performance, Hooks  
**URL:** https://kelexine.is-a.dev/til/react-usecallback-deps

---

TIL: useCallback deps array is about *when to recreate*, not what's used inside. If a value changes but function logic doesn't need updating, omit it. Over-specifying deps causes unnecessary re-renders.


```jsx
// ❌ Bad: Recreates on every render
const handler = useCallback(() => {
  console.log(data);
}, [data]);

// ✅ Good: Only if logic needs new version
const handler = useCallback(() => {
  api.send(id); // id changes, logic changes
}, [id]);
```




---

*This content is available at [kelexine.is-a.dev/til/react-usecallback-deps](https://kelexine.is-a.dev/til/react-usecallback-deps)*
