0Pricing
React Academy · Ders

SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme

SWR'nin önbellekleme stratejisini anlayın: eski veriyi hemen sunun, arka planda yenileyin ve güncel veri geldiğinde güncelleyin

SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. 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.

SWR Ne Anlama Gelir

SWR, RFC 5861'de tanımlanan bir HTTP önbellek stratejisi olan Bayatken-Yeniden-Doğrula'nın kısaltmasıdır. Strateji şöyledir: bayat (önbelleğe alınmış) veriyi kullanıcıya hemen sunun, ardından arka planda yeniden doğrulayın ve güncel veri geldiğinde kullanıcı arayüzünü güncelleyin.

Bu yaklaşım algılanan performansa öncelik verir: kullanıcılar ağ gidiş-dönüşünün tamamlanmasını beklemek yerine verileri anında görür.

Kullanıcı Deneyimi Açısından Faydası

Geleneksel yükleme düzenlerinde kullanıcılar her gezinmede bir yükleme göstergesi görür. SWR ile son bilinen veriyi hemen görürler; veri değişmişse kullanıcı arayüzü arka planda sessizce güncellenir.

Bu, uygulamaların belirgin biçimde daha hızlı hissedilmesini sağlar ve yükleme durumlarının neden olduğu zihinsel kesintiyi azaltır.

SWR Yeniden Doğrulamayı Ne Zaman Tetikler

SWR verileri şu durumlarda otomatik olarak yeniden doğrular: tarayıcı penceresi yeniden odaklandığında (kullanıcı sekmeler arasında geçiş yapıp geri döndüğünde), çevrimdışı kaldıktan sonra ağ bağlantısı yeniden kurulduğunda, açıkça mutate() çağrıldığında veya yapılandırılabilir bir refreshInterval zamanlayıcısı çalıştığında.

Bu otomatik tetikleyiciler, geliştiricinin yeniden getirme mantığını elle yönetmesine gerek kalmadan verilerin güncel kalmasını sağlar.

SWR Durum Makinesi

Bir SWR anahtarı birkaç durumdan birinde olabilir: yükleniyor (önbelleğe alınmış veri yok, ilk getirme işlemi sürüyor), yeniden doğrulanıyor (önbelleğe alınmış veri var, arka plan yenilemesi sürüyor), hata (istek başarısız oldu) veya başarılı (güncel veri kullanılabilir).

Bu durumları anlamak, doğru yükleme iskeletleri ve hata kullanıcı arayüzleri oluşturmanıza yardımcı olur.

Global SWR Önbelleği

SWR, istek anahtarına göre (genellikle bir URL dizesi) anahtarlanan global bir bellek içi önbellek tutar. Aynı anahtarı isteyen her bileşen aynı önbelleğe alınmış değeri alır ve aynı yeniden doğrulama döngüsüne katılır.

Bu otomatik tekilleştirme sayesinde 10 bileşenin her biri aynı anahtarla useSWR çağrısı yapabilir ve yalnızca tek bir ağ isteği gönderilir.

Veri Getirme İşlevi

SWR, önbellek yönetimi mantığını gerçek veri getirme işleminden ayırır. Bir veri getirme işlevi sağlarsınız: anahtarı kabul eden ve verileri döndüren bir asenkron işlev.

Veri getirme işlevi değiştirilebilir: fetch, axios, graphql-request veya herhangi bir asenkron veri kaynağını kullanabilirsiniz. Veri getirme işlevinin nasıl çalıştığından bağımsız olarak SWR, önbelleğe alma ve yeniden doğrulama işlemlerini yönetir.

Global Veri Getirme İşlevini Yapılandırma

Uygulamanızı, veri getirme işlevini içeren bir value özelliğine sahip SWRConfig ile sarın: value={{ fetcher: (url) => fetch(url).then(r => r.json()) }}. Veri getirme işlevi bağımsız değişkenini belirtmeyen her useSWR çağrısı bu global varsayılanı kullanır.

Bu yöntem, API yapılandırmasını (temel URL, kimlik doğrulama üstbilgileri) her kanca çağrısında tekrarlamak yerine tek bir yerde merkezileştirir.

SWR ve Geleneksel Veri Getirme

Klasik düzende yükleme, veri ve hata durumlarını elle yönetmek için useEffect + useState kullanılır. SWR bunların tümünü, önbelleğe alma, tekilleştirme, arka plan yenilemesi ve hata durumunda yeniden denemeyi otomatik olarak yöneten tek bir kanca çağrısıyla değiştirir.

Kod miktarındaki azalma önemlidir: tipik bir veri getirme bileşeni 20'den fazla satırdan 3 satıra iner.

Önbellek Anahtarı Tasarımı

Anahtar, bir isteği benzersiz olarak tanımlar. Basit durumlarda URL dizesini kullanın. Parametreli istekler için dizi anahtarı kullanın: [url, params]; burada params, değişmez bir nesne veya dizedir. Null isteği devre dışı bırakır.

İyi bir anahtar tasarımı, ilişkili isteklerin önbellek girdilerini paylaşmasını ve ilgisiz isteklerin çakışmamasını sağlar.

Yeniden Doğrulama ve Ağ Yükü

SWR, yeniden doğrulama konusunda akıllıdır: varsayılan değeri 2 saniye olan dedupingInterval, çok sayıda bileşen aynı anda bağlandığında birden çok yeniden doğrulamanın eşzamanlı olarak başlatılmasını önler. Tekilleştirme aralığı içinde anahtar başına yalnızca bir istek gönderilir.

Bu, çok sayıda bileşenin aynı verileri getirdiği büyük bileşen ağaçlarında yaygın olan ani istek yığılması sorunlarını önler.

Next.js Bağlamında SWR

SWR, Next.js'in arkasındaki şirket olan Vercel tarafından geliştirilmiştir ve entegrasyon sorunsuzdur. getServerSideProps veya getStaticProps verileri önceden getirebilir; SWR de istemcide bu önceden getirilen değerle veriyi hazırlar.

Bu sayede, bağlanma sırasında otomatik istemci tarafı yeniden doğrulamasıyla sunucu tarafından oluşturulmuş başlangıç HTML'si elde edilir; SSR ile SWR'nin en iyi yönleri bir araya gelir.

SWR Ne Zaman Yeniden Doğrulama Yapar

Aşağıdakilerden hangisi SWR yeniden doğrulamasını varsayılan olarak NOT tetikler?

Ders Özeti

SWR, Bayatken-Yeniden-Doğrula stratejisini uygular: önbelleğe alınmış veriyi hemen sunar, arka planda yeniden doğrular ve güncel veri geldiğinde kullanıcı arayüzünü günceller. Odaklanma, yeniden bağlanma, mutate ve periyodik sorgulama durumlarında yeniden doğrulamayı tetikler. Global önbellek, bileşenler arasındaki istekleri tekilleştirir ve veri getirme işlevi tamamen değiştirilebilir.

Bu model, daha hızlı algılanan performans sunarken veri getirme kodunu büyük ölçüde basitleştirir.

Sıkça Sorulan Sorular

“SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme” dersi ücretsiz mi?

Evet — “SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme” 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'nin Temel Kavramları: Eski Veriyi Sunup Yenileme” dersinde ne öğreneceğim?

SWR'nin önbellekleme stratejisini anlayın: eski veriyi hemen sunun, arka planda yenileyin ve güncel veri geldiğinde güncelleyin 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 1. dersidir.

“SWR'nin Temel Kavramları: Eski Veriyi Sunup Yenileme” 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