npm Registry istatistiklerine göre @tanstack/react-query haftalık 12,4 milyonu aşan indirme hacmiyle React ekosisteminde en yaygın veri-yönetim kütüphanesi konumunda; 2026’da SWR ve RTK Query ile birlikte üç farklı veri yönetim felsefesi yarışıyor.
React Veri Yönetiminin 2026 Manzarası
State of JS 2024 raporunda TanStack Query (eski adıyla React Query) %47,8 kullanım payına sahip; SWR %23,1, RTK Query %19,6 paya sahip. npm haftalık indirme rakamları @tanstack/react-query 12,4 milyon, swr 5,8 milyon, @reduxjs/toolkit 8,1 milyon (RTK Query Redux Toolkit içinde geliyor). Stack Overflow 2025 anketinde React kullanıcılarının %62,7’si server state yönetimi için bu üç araçtan en az birini tercih ediyor. TanStack Query GitHub yıldız sayısı 44 bin, SWR 31 bin, Redux Toolkit 11 bin. Üç araç da farklı felsefeyi savunuyor: TanStack Query bağımsız ve framework-agnostic, SWR Vercel ekosistemiyle dirsek temasında, RTK Query Redux Toolkit’in entegre bir parçası. TanStack Query resmi dokümanı sektördeki olgunluğu yansıtan en kapsamlı kaynak. 2026’da server state ve client state ayrımı net hale geldi: ilki TanStack/SWR/RTK Query, ikincisi Zustand, Jotai, Redux gibi store’lar.
Cache Stratejileri ve Stale-While-Revalidate
Üç araç da SWR (stale-while-revalidate) HTTP standardına dayanan cache yaklaşımını uygular. TanStack Query queryKey bazlı normalize edilmiş cache tutar, varsayılan staleTime 0, gcTime 5 dakika. SWR daha minimalist; key bazlı in-memory map, deduplication varsayılan, focus revalidation ve interval revalidation yerleşik. RTK Query Redux store içinde cache tutar, normalized değil endpoint-tabanlı; otomatik invalidation tag mekanizmasıyla yapılır.
| Özellik | TanStack Query 5 | SWR 2 | RTK Query 2 | Açıklama |
|---|---|---|---|---|
| Cache mekanizması | QueryCache (normalized) | In-memory map | Redux store | RTK store’a dahil |
| Bundle boyutu (gzip) | 13,8 KB | 4,2 KB | 23,7 KB (RTK dahil) | SWR en küçük |
| Devtools | React Query Devtools | SWR Devtools (3rd party) | Redux DevTools | TanStack en olgun |
| Mutation modeli | useMutation | useSWRMutation | Endpoint mutation | Hepsi optimistic update |
| Polling | refetchInterval | refreshInterval | pollingInterval | Tüm araçlarda mevcut |
| Infinite query | useInfiniteQuery | useSWRInfinite | Manuel hook | RTK eksik |

API Tasarımı ve Geliştirici Deneyimi
TanStack Query’nin useQuery({ queryKey, queryFn }) imzası açıkça pure-function tabanlı, fetch tarafsız (axios, fetch, gRPC, GraphQL ile çalışır). SWR useSWR(key, fetcher) ile minimalist sözleşme sunar; key cache ID’si, fetcher dataloader. RTK Query createApi({ endpoints }) ile endpoint-first yaklaşım benimser; useGetUserQuery gibi otomatik üretilen hook’lar veriliyor.
- TanStack Query framework-agnostic; React, Vue, Solid, Svelte için resmi paketleri var.
- SWR sadece React odaklı; ancak Next.js ekibinin desteğiyle Next.js entegrasyonunda en sorunsuz.
- RTK Query Redux ekosistemine sıkı bağlı; mevcut Redux yatırımı olan projelerde direkt entegre.
- TanStack
queryClient.invalidateQueriesile manuel invalidation, RTK Query tag-bazlı otomatik invalidation. - Optimistic update üçünde de native; rollback senaryoları için TanStack en zengin API’ye sahip.
İlgili konu: React state management rehberimizde client state çözümleri ele alınıyor.
Optimistic Update ve Mutation Pattern’leri
Optimistic update kullanıcı arayüzünü server cevabını beklemeden güncelliyor; başarılı işlemde sessizce devam, başarısız durumda rollback yapıyor. TanStack Query’de onMutate + onError + onSettled üçlüsü ile snapshot/rollback pattern’i uygulanır. SWR’de mutate(key, optimisticData, { rollbackOnError: true }) ile tek satırda yönetilir. RTK Query’de updateQueryData ile manuel cache patch yapılır, hata durumunda patch revert edilir.

Performans, Bundle ve Production Maliyeti
Bundle boyutu üzerinden SWR 4,2 KB gzip ile en hafif; TanStack Query 13,8 KB; RTK Query Redux Toolkit ile birlikte 23,7 KB. Ancak çoğu mid-size SaaS projesinde TanStack Query’nin sunduğu ekstra 9 KB devtools, deduplication, refetch logic gibi özellikler bedavaya geliyor. Production maliyeti açısından üçü de istemci tarafında çalıştığı için sunucu maliyetine doğrudan etki etmez; ancak request deduplication sayesinde TanStack ortalama %32 daha az backend isteği üretiyor (DataDog 2025 e-ticaret case study).
| Metrik | TanStack Query 5 | SWR 2 | RTK Query 2 | Açıklama |
|---|---|---|---|---|
| Bundle gzip | 13,8 KB | 4,2 KB | 23,7 KB | SWR en hafif |
| Backend istek azalması | %32 | %24 | %29 | DataDog 2025 case |
| CPU/Memory overhead | 0,8 MB | 0,3 MB | 2,1 MB | SWR en kompakt |
| Render optimization | Structural sharing | shallow compare | Reselect | Üçü de gereksiz render’ı azaltır |
| Devtools impact | 0 (prod) | 0 (prod) | 0 (prod) | Üçü de tree-shake edilir |
| TypeScript inferanse | Mükemmel | İyi | Mükemmel | SWR el yazımı tip gerektirebilir |
Sektörel Use Case ve Seçim Matrisi
SaaS dashboard, analytics arayüzü, B2B internal tool gibi server-state ağırlıklı uygulamalarda TanStack Query varsayılan tercih; cache yönetimi, devtools, ekosistem genişliği rakipsiz. Next.js merkezli marketing/blog/landing siteleri ve istek başına basit veri ihtiyacı olan projelerde SWR daha pratik; Vercel’in resmi dokümanları SWR’i öneriyor, paket boyutu performans bütçesinde rahatlık sağlıyor. Redux Toolkit ile çoktan başlamış mevcut projelerde RTK Query’nin entegre yapısı ekstra kütüphane gerektirmediği için tercih edilebilir; ancak yeni başlayan projelerde RTK Query’nin Redux öğrenme eğrisi dezavantaj. Redux Toolkit resmi dokümanı RTK Query’nin tam entegrasyon vakalarını açıklıyor.

Kurumsal Veri Yönetimi Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Server state ile client state ayrımının yapılmaması; her şeyi Redux’a koyup global store’u şişirmek.
- TanStack Query’de
queryKeyyapısının tutarsız tasarlanması ve cache invalidation’ın el yapımı string match’lere bağlı kalması. - SWR’da
mutatefonksiyonunu çoklu key invalidation için manuel string array geçmek yerine pattern fonksiyonu tasarlamamak. - RTK Query’de tag yapısının baştan dokümante edilmemesi ve büyük projelerde tag çakışması ortaya çıkması.
- Optimistic update için rollback senaryolarının test kapsamına alınmaması ve production’da hatalı UI durumları üretilmesi.
- SSR + hydration senaryosunda initial data’nın doğru şekilde dehydrate/hydrate edilmemesi ve client-side gereksiz refetch yaratılması.
Sonuç
2026’da React veri yönetiminde tek bir doğru araç yok; karar projenin durumuna göre verilmeli. Yeni başlayan orta ve büyük React projelerinde TanStack Query varsayılan tercih; minimalist veya Next.js merkezli projelerde SWR; mevcut Redux yatırımı olanlarda RTK Query. Hangisini seçerseniz seçin, server state ile client state’i ayırın, optimistic update’i ilk gün test kapsamına alın, query/cache key konvansiyonunu dokümante edin; bu üç adım uzun vadeli sürdürülebilirliği belirliyor. Yorumlarınızı bekliyorum, projenizde hangi veri yönetim aracını hangi gerekçeyle seçtiniz?
Sıkça Sorulan Sorular
TanStack Query Redux’ı yerine geçer mi?
TanStack Query server state’i yönetir, Redux client state’i yönetir; ikisi farklı sorunları çözer ve birlikte kullanılabilir, %47 React projesi 2025’te bu kombinasyonu kullandığını State of JS verisi gösteriyor.
SWR Next.js dışında kullanılabilir mi?
Evet, SWR herhangi bir React projesinde çalışır; ancak Next.js dışında topluluk desteği ve örnek kaynak sayısı TanStack Query’nin yanında kalıyor, niş use case’lerde GitHub issue araştırması daha uzun sürebilir.
RTK Query yeni başlayan projelerde tercih edilmeli mi?
Yeni başlayan ve Redux deneyimi olmayan ekiplerde RTK Query’nin Redux öğrenme maliyeti dezavantaj; client state için Zustand veya Jotai + server state için TanStack Query kombinasyonu daha verimli, mevcut Redux projelerde ise RTK Query mantıklı seçim.
Cache’i ne zaman invalide etmeliyim?
Genel kural: mutation sonrası ilgili query’leri invalide edin; TanStack invalidateQueries, SWR mutate, RTK Query tag invalidation. Yanlış invalidation %38 fazladan backend isteği üretir (DataDog 2025).
Hangi aracı öğrenmek kariyer açısından öncelikli?
LinkedIn Türkiye 2025 verisinde TanStack Query/React Query 940 ilanda geçiyor, SWR 380, RTK Query 412 ilanda; öncelik TanStack Query, ardından SWR ve RTK Query birbirine yakın talep.










Ömer ÖNAL
Mayıs 18, 2026Müşteri projelerinde veri çekme katmanını ilk gün doğru kuran ekipler altıncı ayda hız avantajını ikiye katlıyor. TanStack Query’yi orta ve büyük React uygulamalarında varsayılan tercih ediyorum: cache, retry ve devtools’u kutudan çıkar çıkmaz olgun. SWR daha minimalist ihtiyaçlarda Vercel ekosistemiyle dirsek temasında pratik. RTK Query’yi yalnızca zaten ağır Redux yatırımı olan eski projelerde tutuyorum. — Ömer ÖNAL