0Pricing
React Academy · Ders

Durumu localStorage ile Eşitleme

React durumu ile localStorage'ı çift yönlü eşzamanlı tutan bir useLocalStorage özel kancası oluşturun.

Durumu localStorage ile Eşitleme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. 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.

İlk Yaklaşım Senkronunu Kaybediyor

İlk akla gelen yaklaşım, localStorage'ı bir yerde okuyup başka bir yerde yazmaktır; ancak bu iki işlem zamanla birbirinden kopabilir. Kalıcı hale getirmeyi unutan durum güncellemeleri veya duruma yansımayan kalıcı değerler hatalara yol açar.

React durumunu ve depolamayı aynı çizgide tutan tek bir doğruluk kaynağına ihtiyacınız vardır.

useLocalStorage Özel Kancası

Temiz çözüm, useState'i saran ve değişiklikleri otomatik olarak kalıcı hale getiren bir useLocalStorage kancasıdır. Tıpkı useState gibi bir değer ve ayarlayıcı döndürür.

Bu kancayı kullananlar onu normal durum gibi kullanır, ancak ek bir işlem yapmadan kalıcılık elde eder.

Tembel Başlatma İşlevi

localStorage'ı okumak eşzamanlı bir işlemdir; bu nedenle bunu her yeniden oluşturmada yapmamalısınız. useState'e tembel başlatıcı olan bir işlev verin; böylece okuma yalnızca ilk eklemede gerçekleşir.

Bu işlevin içinde depolanan değeri ayrıştırır veya sağlanan varsayılan değeri döndürürsünüz.

Tembel Başlatma Neden Önemlidir

İlk durumu doğrudan bir bağımsız değişken olarak hesaplarsanız, ilk oluşturma sonrasında yok sayılmasına rağmen bu ifade her yeniden oluşturmada çalışır. Bir işlev kullandığınızda React onu yalnızca bir kez çağırır.

localStorage okumalarında bu yaklaşım, her yeniden oluşturmada ana iş parçacığında tekrarlanan eşzamanlı çalışmayı önler.

useEffect ile Eşitleme

Güncellemeleri kalıcı hale getirmek için değer her değiştiğinde çalışan bir useEffect ekleyin ve localStorage.setItem(key, JSON.stringify(value)) çağrısını yapın.

Değeri bağımlılık dizisine eklemek, her durum değişikliğinde depolamaya otomatik olarak yazılmasını sağlar.

İşlevsel Güncellemeler Eski Kapanımları Önler

Önceki değere dayalı bir ayarlama yaparken işlevsel biçimi kullanın: setValue(prev => prev + 1). Bu, yakalanan eski bir değerin yazılmasına neden olan eski kapanımları önler.

Bu yaklaşım, özellikle güncel olmayan bir anlık görüntüyü yakalayabilecek olay işleyicileri ve etkiler içinde önemlidir.

Boş Depolanmış Değeri Ele Alma

getItem, anahtar mevcut olmadığında null döndürür. Başlatıcınız bunu algılamalı ve null değerini ayrıştırmaya çalışmak yerine varsayılan değere dönmelidir.

stored != null ? JSON.parse(stored) : defaultValue gibi bir kontrol, ilk ziyareti sorunsuz biçimde ele alır.

TypeScript Genel Türleri

TypeScript'te kancayı genel tür kullanacak şekilde tanımlayabilirsiniz: function useLocalStorage<T>(key: string, initial: T). Bu, değer türünü koruyarak kancayı kullananlara tam tür güvenliği sağlar.

Dönen demetin türü, useState ile eşleşecek şekilde [T, Dispatch<SetStateAction<T>>] olarak tanımlanır.

Depolanan Verileri Sürümlendirme

Zamanla veri yapınız değişir ve eski depolanmış değerler yeni kodu bozabilir. Eski biçimleri algılayabilmek için verilerin yanında bir sürüm anahtarı da depolayın.

Örneğin { version: 2, data } değerini kaydedip okuma sırasında sürümü karşılaştırabilirsiniz.

Sürüm Uyuşmazlığında Temizleme

Depolanan sürüm güncel sürümle eşleşmediğinde eski değeri olduğu gibi kullanmak yerine silin veya yeni biçime taşıyın. En basit yöntem, güncelliğini yitirmiş kaydı kaldırıp varsayılan değerlere dönmektir.

Bu, uygulamanızın daha eski bir sürümü tarafından yazılmış verilerin çökme oluşturmasını önler.

Kancayı Bir Araya Getirme

Tam bir useLocalStorage kancası; verileri güvenli biçimde okuyup ayrıştıran tembel bir başlatıcıyı, işlevsel güncellemeleri destekleyen bir ayarlayıcıyı ve sürüm bilgisiyle depolamaya yazan bir useEffect'i birleştirir.

Sonuç, yeniden yüklemelerden sonra da varlığını sürdüren ve doğrudan kullanılabilen bir useState alternatifidir.

Hızlı Kontrol

Durum başlatma hakkındaki anlayışınızı sınayın.

Özet

Tembel başlatıcı içeren bir useLocalStorage kancası oluşturmayı, değişiklikleri useEffect aracılığıyla kalıcı hale getirmeyi, eski kapanımları önlemek için işlevsel güncellemeleri kullanmayı ve boş değerleri ele almayı öğrendiniz.

Ayrıca TypeScript genel türlerini ve eski verileri güvenli biçimde temizlemek için sürümlendirmeyi gördünüz.

Sıkça Sorulan Sorular

“Durumu localStorage ile Eşitleme” dersi ücretsiz mi?

Evet — “Durumu localStorage ile Eşitleme” 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.

“Durumu localStorage ile Eşitleme” dersinde ne öğreneceğim?

React durumu ile localStorage'ı çift yönlü eşzamanlı tutan bir useLocalStorage özel kancası oluşturun. 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 2. dersidir.

“Durumu localStorage ile Eşitleme” 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. React'te localStorage Okuma ve Yazma
  2. Durumu localStorage ile Eşitleme
  3. Sekmeler Arasında Depolama Olaylarını Yönetme
  4. sessionStorage, IndexedDB ve Doğru API'yi Seçme
← React Academy Sayfasına Dön