📖
Hook 18

useDeferredValue

Retorna versão 'atrasada' de um valor. React mantém valor anterior enquanto processa o novo.

📚 O que é

Ideal quando você recebe o valor de fora (props/context) e não controla o setState. Enquanto o novo valor processa, o antigo permanece estável — sem tearing (estados visuais inconsistentes).

✅ Quando usar

Recebe valor via props e precisa de render pesado. Input que alimenta lista grande ou gráfico. Quando useTransition não é aplicável (não controla o setter).

🚫 Quando NÃO usar

Para chamadas de API (use debounce). Quando você CONTROLA o setState (use useTransition). Valores simples/rápidos de renderizar.

👍 Prós
Evita tearing
Não precisa controlar o setState
Valor anterior permanece estável
Combina bem com useMemo
👎 Contras
Não cancela renders, só prioriza
Não atrasa API calls
Precisa React 18
🔗 Termos relacionados