📖
Lib

TanStack Query

Gerencia server state: fetch, cache, sync, mutations. Substitui useState+useEffect para dados externos.

📚 O que é

useQuery: busca e cacheia dados. useMutation: write operations com rollback. Recursos: deduplicação, background refetch, refetch on focus/reconnect, retry, infinite queries, optimistic updates.

✅ Quando usar

Qualquer fetch de API em Client Component. Quando precisar de cache, retry, loading/error states, refetch automático.

🚫 Quando NÃO usar

Em Server Components (use fetch direto). Para estado local da UI (use useState). Para mutations simples sem rollback (Server Actions podem bastar).

👍 Prós
Cache automático
Deduplicação de requests
Loading/error states gerenciados
Background sync
Devtools excelentes
👎 Contras
Overkill para 1-2 fetches simples
Bundle size (~13KB)
Curva de aprendizado das opções
Não é state manager geral
🔗 Termos relacionados