📖
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