📖
Hook

useCallback

Memoiza uma FUNÇÃO. Mantém a mesma referência entre renders enquanto deps não mudam.

📚 O que é

useCallback(fn, deps) equivale a useMemo(() => fn, deps). Útil quando você precisa passar função estável para componentes memoizados ou como dep de outro hook.

✅ Quando usar

Passar callback para componente memoizado com React.memo. Função usada como dep em useEffect. Handlers passados para listas virtualizadas.

🚫 Quando NÃO usar

Funções locais que não são passadas para baixo. Quando o componente receptor não é memoizado (não adianta nada). Componentes simples sem problemas de performance.

👍 Prós
Mantém referência estável
Evita re-renders em filhos memoizados
Correto para deps de hooks
👎 Contras
Overhead se mal usado
Cria falsa sensação de segurança
Par obrigatório com React.memo para ter efeito
🔗 Termos relacionados