0Pricing
React Academy · Ders

SWR ve React Query: Doğru Aracı Seçme

API yüzeyi, paket boyutu ve kullanım alanına uygunluk açısından SWR ile React Query'yi karşılaştırın

SWR ve React Query: Doğru Aracı Seçme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Paket Boyutu Karşılaştırması

SWR'nin sıkıştırılmış hâli yaklaşık 7kb'dir. React Query v5'in sıkıştırılmış hâli yaklaşık 13kb'dir. Boyut farkı, React Query'nin ek özelliklerini yansıtır: sorguları önceden getirme, sorgu iptali, daha ayrıntılı bir sorgu yaşam döngüsü ve yerleşik DevTools.

Paket boyutunun önemli olduğu uygulamalarda veya basit veri çekme-görüntüleme kalıplarında SWR'nin daha küçük ayak izi anlamlı bir avantajdır.

SWR'nin Güçlü Yönleri

SWR'nin API'si daha basit ve daha sadedir. Öncelikli ihtiyacınız verileri çekmek, görüntülemek ve otomatik olarak yeniden doğrulamaksa SWR, bunu çok az ek kodla zarif biçimde karşılar.

Vercel tarafından geliştirildiği için SWR, Next.js ile özellikle iyi bütünleşir; getServerSideProps veya getStaticProps ile yapılan önceden getirmeyi, istemci tarafında yedek veri üzerinden gerçekleştirilen yeniden doğrulamayla birleştirmek için idealdir.

SWR ve Next.js Bütünleşmesi

Önceden getirilen verileri SWRConfig içindeki fallback seçeneği veya useSWR içindeki fallbackData seçeneği aracılığıyla SWR'ye aktarın. SWR bunu başlangıç önbellek değeri olarak kullanır; böylece ilk yüklemedeki görüntü titremesini ortadan kaldırırken arka planda yeniden doğrulamayı etkinleştirir.

Bu kalıp, Vercel ile kullanılan Next.js sayfa yönlendiricisi uygulamalarında önerilen veri çekme yaklaşımıdır.

React Query'nin Güçlü Yönleri

React Query, sorgu yaşam döngüsü üzerinde daha ayrıntılı denetim sunar: staleTime, gcTime (çöp toplama), refetchOnWindowFocus, yeniden deneme sayısı ve yeniden deneme gecikmesi ayrı ayrı yapılandırılabilir. onSuccess, onError ve onSettled geri çağırmalarını içeren mutasyon sistemi oldukça esnektir.

React Query ayrıca AbortSignal aracılığıyla sorgu iptalini destekler; bu özellik, yazdıkça arama yapılan kullanıcı arayüzlerinde kullanışlıdır.

Sonsuz Sorgular

React Query'nin useInfiniteQuery ve getNextPageParam ile birlikte kullanımı, sonsuz kaydırma ve daha fazla yükleme kalıpları için özel olarak tasarlanmıştır. Sayfa imleci mantığını yönetir ve düz veya yapılandırılmış bir pages nesnesi sağlar.

SWR'deki useSWRInfinite benzer işlevleri kapsar, ancak biraz daha düşük düzeyli bir API sunduğundan sayfaları daha fazla elle birleştirmeniz gerekir.

Sorguları Önceden Getirme

React Query, üzerine gelindiğinde veya rota değiştiğinde queryClient.prefetchQuery ile sorguları önceden getirmeyi destekler. Bileşen bağlanmadan önce veriler önbellekte bulunur ve anında görüntüleme deneyimi sağlar.

SWR'nin, SSR yedek verisi dışında yerleşik bir önceden getirme API'si yoktur. Üzerine gelmeye dayalı önceden getirme için React Query daha iyi bir seçimdir.

React Query v5 Yenilikleri

React Query v5, useQuery'nin isLoading yerine isPending döndürmesini sağlayarak API'yi sadeleştirdi, iyimser güncelleme kalıplarını birleştirdi ve TypeScript tür çıkarımını geliştirdi. v5 API'si önceki sürümlere göre daha temiz ve tutarlıdır.

React Query'yi değerlendiriyorsanız v4'ü öğrenip geçiş yapmak yerine doğrudan v5'i hedefleyin.

Otomatik Genel Önbellek Paylaşımı

SWR, varsayılanlar için SWRConfig dışında herhangi bir sağlayıcı yapılandırması gerektirmeden, anahtara göre önbellek girdilerini bileşenler arasında genel olarak paylaşır. React Query ise QueryClient örneğiyle birlikte QueryClientProvider gerektirir.

Hızlı prototip geliştirme veya basit uygulamalar için SWR'nin sıfır yapılandırmalı genel önbelleğini kurmak daha hızlıdır. React Query'nin açık istemcisi, karmaşık önbellekleme gereksinimleri olan büyük uygulamalar için daha uygundur.

SWR Ne Zaman Seçilmeli

Uygulamanız öncelikle Next.js üzerine kurulmuşsa, veri çekme kalıpları basitse (çek-göster-yeniden doğrula), paket boyutunu en aza indirmek istiyorsanız veya ekibiniz gelişmiş özellikler yerine basit bir API'yi tercih ediyorsa SWR'yi seçin.

SWR, büyük bir geçiş yapmadan mevcut bir kod tabanına aşamalı bir veri çekme kitaplığı eklerken de harika bir seçimdir.

React Query Ne Zaman Seçilmeli

Sonsuz kaydırma, sorguları önceden getirme, arka plan yeniden çekme stratejileri, çok aşamalı sorgu bağımlılıkları veya önbellek TTL'si üzerinde ayrıntılı denetim gibi karmaşık sunucu durumu yönetimine ihtiyacınız varsa React Query'yi seçin.

React Query ayrıca daha etkin bir ara yazılım ve DevTools ekosistemine sahiptir; queryClient'i yalıtılmış olarak sınamak da daha kolaydır.

Birleşik Yaklaşım

Bazı ekipler her ikisini de kullanır: yaprak bileşenlerdeki basit tek kaynaklı veri çekimleri için SWR'yi, önceden getirme gerektiren karmaşık çoklu sorgu sayfaları için React Query'yi tercih eder. Bu yaygın değildir, ancak ekip her iki API'ye de hâkimse geçerli bir yaklaşımdır.

Daha yaygın olarak ekipler, bağlam değiştirmeyi ve iki ayrı bağımlılığın ek yükünü önlemek için birini seçip uygulamanın tamamında tutarlı biçimde uygular.

SWR ile React Query'nin Paket Boyutu

SWR ile React Query'nin paket boyutları yaklaşık olarak nasıl karşılaştırılır?

Ders Özeti

SWR (~7kb) daha basittir, Next.js ile doğal biçimde bütünleşir ve çoğu veri çekme-görüntüleme kalıbını az kodla karşılar. React Query (~13kb) daha zengin özellikler sunar: sonsuz sorgular, önceden getirme, ayrıntılı yaşam döngüsü geri çağırmaları ve sorgu iptali.

Basitlik ve Next.js projeleri için SWR'yi; karmaşık sunucu durumu gereksinimleri için React Query'yi seçin. Her ikisi de TypeScript, Suspense, SSR ve çevrimdışı kalıpları destekler.

Sıkça Sorulan Sorular

“SWR ve React Query: Doğru Aracı Seçme” dersi ücretsiz mi?

Evet — “SWR ve React Query: Doğru Aracı Seçme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“SWR ve React Query: Doğru Aracı Seçme” dersinde ne öğreneceğim?

API yüzeyi, paket boyutu ve kullanım alanına uygunluk açısından SWR ile React Query'yi karşılaştırın React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“SWR ve React Query: Doğru Aracı Seçme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme
  2. useSWR Kancası: Veri Alma, Yükleme ve Hata Durumları
  3. SWR ile Değişiklik ve İyimser Güncellemeler
  4. SWR ve React Query: Doğru Aracı Seçme
← React Academy Sayfasına Dön