useCallback Callback em Cache
Última atualização: 2026-11-03
useCallback Callback em Cache
useCallback cacheia uma referência de função: enquanto as dependências se mantêm iguais, ele retorna a mesma função. Quando você entrega esse callback a um componente filho memoizado, ele evita que o pai renderize o filho à toa, porque uma referência de função recém-criada sempre quebra a comparação rasa dentro de memo. Fora de tal consumidor, o cache não traz nenhum ganho, então vale a pena recorrer a ele apenas quando uma referência estável é o que realmente importa.
| Grupo | Efeitos e Desempenho |
|---|---|
| Tipo | Hook |
| Desde | React 16.8 |
ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.
📝 Sintaxe
const handleClick = useCallback((id) => {
removeItem(id)
}, [removeItem]) // list the dependencies you use
// equivalent to useMemo(() => handleClick, deps)
⚙️ Parâmetros
| fn | A função a ser cacheada (um manipulador de eventos, um callback passado a um componente filho etc.). |
|---|---|
| deps | O array de dependências: qualquer mudança retorna uma nova função, caso contrário a referência anterior é retornada. |
Retorna:Retorna a referência de função em cache: enquanto as dependências não mudam, cada renderização recebe a mesma função.
▶ Exemplo
O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.
Saída:
Enquanto você digita na entrada, o console não imprime mais "Rendered: Count +1" — a referência de onClick está estável, então o filho memoizado pula a re-renderização; clicar no botão ainda incrementa a contagem.