Sekmeler Arasında Depolama Olaylarını Yönetme
Depolama olayı dinleyicisini kullanarak diğer tarayıcı sekmelerindeki localStorage değişikliklerine tepki verin.
Sekmeler Arasında Depolama Olaylarını Yönetme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 3. 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.
Sekmeler Arası Güncelliğini Yitirme Sorunu
Bir kullanıcı uygulamanızı iki sekmede açık tutup A sekmesinde bir değeri güncellediğinde, B sekmesi hâlâ eski durumu gösterir. localStorage'ı paylaşmalarına rağmen her sekmenin bellekte kendine ait bir React durumu vardır.
Koordinasyon olmadan sekmeler geçerli değer konusunda farklı görüşte kalır.
Depolama Olayı Diğer Sekmelerde Tetiklenir
Tarayıcı, localStorage değiştiğinde aynı kaynağın diğer sekmelerinde bir storage olayı gönderir. Önemli bir ayrıntı olarak, olay değişikliği yapan sekmede tetiklenmez.
Bu, B sekmesinin A sekmesinin bir şeyi güncellediğini öğrenmesi için tam olarak gereken sinyaldir.
addEventListener ile Dinleme
Bir useEffect içinde window.addEventListener('storage', handler) çağrısını yapar ve olayı kaldıran bir temizleme işlevi döndürürsünüz. Böylece bileşen sekmeler arası değişikliklere abone olur.
Etki ilk eklemede bir kez çalışmalıdır; bu nedenle boş veya sabit bir bağımlılık dizisi uygundur.
StorageEvent Özellikleri
Olay nesnesi; hangi anahtarın değiştiğini belirten key değerini, önceki ve sonraki dizeleri belirten oldValue ile newValue değerlerini ve etkilenen depolama nesnesini belirten storageArea değerini taşır.
Anahtarın ve değerlerin boş olması, depolamanın tamamen temizlendiği anlamına gelir.
Anahtarlarınıza Göre Filtreleme
Depolama olayı, kaynakta bulunan her anahtar için tetiklenir; bu nedenle işleyiciniz tepki vermeden önce event.key === yourKey kontrolünü yapmalıdır. İlgisiz anahtarları yok saymak gereksiz yeniden oluşturmaları önler.
Ayrıca event.newValue değerinin boş olduğu, yani anahtarın kaldırıldığı durumu da ele alın.
Olay Üzerinden React Durumunu Güncelleme
İlgili bir değişiklik geldiğinde event.newValue değerini ayrıştırın ve React durumunu güncellemek için ayarlama işlevinizi çağırın. Böylece ikinci sekme başka bir yerde yapılan değişiklikle eşitlenir.
Bu yaklaşım bir useLocalStorage kancasıyla birleştirildiğinde sekmeler arasındaki döngü tamamlanır.
BroadcastChannel Seçeneği
BroadcastChannel, aynı kaynağın sekmelerinin postMessage ile doğrudan birbirlerine ileti göndermesini sağlar. Depolama olaylarını dolaylı olarak kullanmaktan daha temizdir ve localStorage'a yazmadan da çalışır.
Bir kanalı adlandırarak oluşturur, güncellemeleri gönderir ve message olaylarını dinlersiniz.
Depolama için useSyncExternalStore
React, dış depolara eşzamanlı çalışmayla güvenli biçimde abone olmak için useSyncExternalStore sağlar. Abone olma işlevini storage olayına, anlık görüntüyü ise bir localStorage okumasına bağlayabilirsiniz.
Bu, dış depolama güncellemelerini React oluşturma süreciyle doğru biçimde bütünleştirir.
Sekmeler Arasında Oturum Kapatma Kullanım Örneği
Klasik bir kullanım, her yerde oturumu kapatmaktır: bir sekme kimlik doğrulama işaretini temizlediğinde, diğer sekmelerdeki depolama olayı bunu algılar ve onları oturum açma ekranına yönlendirir.
Bu, güncel olmayan bir sekmenin kimliği doğrulanmış içeriği göstermeye devam etmesini önler.
Koyu Modu Sekmeler Arasında Eşitleme
Tema da bunun için çok uygundur: bir sekmede koyu modu açıp kapatmak localStorage'a yazma yapar, depolama olayı diğer sekmelerde tetiklenir ve bu sekmeler tema durumlarını anında eşleşecek şekilde günceller.
Kullanıcı hangi sekmeye geçerse geçsin tutarlı bir görünüm elde eder.
Bir Araya Getirme
Sekmeler arası eşitleme; storage olayını dinlemeye veya BroadcastChannel kullanmaya, anahtarlarınızı filtrelemeye ve React durumunu yeni değerden güncellemeye dayanır.
Sağlam ve eşzamanlı çalışmayla güvenli abonelikler için useSyncExternalStore güncel seçimdir.
Hızlı Kontrol
Sekmeler arası olaylar hakkındaki anlayışınızı sınayın.
Özet
storage olayının diğer sekmelerde tetiklendiğini, nasıl dinleneceğini, anahtara göre nasıl filtreleneceğini ve durumun nasıl güncelleneceğini, ayrıca BroadcastChannel ile useSyncExternalStore seçeneklerini öğrendiniz.
Her yerde oturum kapatma ve sekmeler arası koyu mod gibi gerçek kullanım örneklerini gördünüz.
Yapay zeka eğitmeniyle React öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 88
- Dersler
- 324
Sıkça Sorulan Sorular
“Sekmeler Arasında Depolama Olaylarını Yönetme” dersi ücretsiz mi?
Evet — “Sekmeler Arasında Depolama Olaylarını Yönetme” 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.
“Sekmeler Arasında Depolama Olaylarını Yönetme” dersinde ne öğreneceğim?
Depolama olayı dinleyicisini kullanarak diğer tarayıcı sekmelerindeki localStorage değişikliklerine tepki verin. 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 3. dersidir.
“Sekmeler Arasında Depolama Olaylarını Yönetme” 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
- React'te localStorage Okuma ve Yazma
- Durumu localStorage ile Eşitleme
- Sekmeler Arasında Depolama Olaylarını Yönetme
- sessionStorage, IndexedDB ve Doğru API'yi Seçme