Sanallaştırmayı Veri Getirmeyle Birleştirme
Sanallaştırılmış liste sonuna ulaştığında veri getirmeyi tetikleyerek sonsuz kaydırmayı uygulayın.
Sanallaştırmayı Veri Getirmeyle Birleştirme, 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.
Sonsuz Kaydırma Deseni
Sonsuz kaydırma, açık sayfa düğmeleriyle sayfalandırmak yerine kullanıcı listenin sonuna yaklaştıkça daha fazla veri yükler. Sanallaştırmayla birleştirildiğinde, çok büyük veri kümelerinde akıcı biçimde gezinmenizi sağlar.
Liste yalnızca görünür satırları gösterirken, kullanıcı alta ulaşmadan hemen önce arka planda yeni veriler çekilir.
onItemsRendered Geri Çağırması
react-window liste bileşenleri, o anda hangi öğe indekslerinin oluşturulduğunu bildiren bir onItemsRendered geri çağırmasını kabul eder. Bu geri çağırma, görünür aralığın ve önceden oluşturma aralığının başlangıç ve bitiş indekslerini sağlar.
Bu geri çağırma, kaydırmaya bağlanmanızı sağlar; ham kaydırma olaylarını kendiniz bağlamadan kullanıcının listede ne kadar ilerlediğini algılayabilirsiniz.
itemCount Yakınında overscanStopIndex'i Belirleme
Veri çekme zamanını anlamak için onItemsRendered'dan gelen overscanStopIndex'i mevcut itemCount ile karşılaştırın. Oluşturulan pencere yüklenen verilerin sonuna yaklaştığında daha fazla veriye ihtiyaç vardır.
Önceden oluşturma bitiş indeksini kullanmak biraz ön süre sağlar ve veri çekmeyi, kullanıcı son satıra gerçekten ulaşmadan hemen önce tetikler.
Sona Yaklaşırken Veri Çekmeyi Tetikleme
Bitiş indeksi bir eşiği geçtiğinde, örneğin itemCount değerinin bir ekranlık yakınına geldiğinde, sonraki sayfa için veri çekme işlevinizi çağırırsınız. Birden fazla örtüşen isteğin gönderilmemesi için bunu bir koşulla koruyun.
Bir yükleme bayrağı kullanmak veya hâlihazırda süren bir veri çekme işlemi olup olmadığını kontrol etmek, kullanıcı tetikleme bölgesinde kaydırırken yinelenen istekleri önler.
Son Öğe Olarak Yükleme Göstergesi
Yararlı bir yöntem, daha fazla veri mevcutsa itemCount'ı yüklenen öğe sayısının bir fazlası olarak oluşturmaktır. Ek satır bir dönen simge göstererek veri çekme işleminin sürdüğünü belirtir.
Yeni veriler geldiğinde sayı artar ve dönen simgenin bulunduğu satır gerçek içerikle değiştirilir; böylece akıcı bir görsel geri bildirim sağlanır.
react-window-infinite-loader
react-window-infinite-loader yardımcı paketi bu mantığı sizin için kapsüller. isItemLoaded, loadMoreItems ve itemCount değerlerini sağlarsınız; paket, kullanıcı yüklenmemiş satırlara doğru kaydırdıkça yükleyicinizi çağırır.
Hangi aralıkların yüklendiğine ilişkin kayıtları tutar ve gereksiz yükleme çağrılarını önler; böylece sağlam bir sonsuz kaydırma uygulamak kolaylaşır.
Veri Çekilirken Yer Tutucu Satırlar
Yüklenmemiş indeksler için boşluklar yerine yer tutucu veya iskelet satırları oluşturabilirsiniz. Oluşturma işlevi, belirli bir indeksteki öğenin yüklenip yüklenmediğini kontrol eder ve yüklenmemişse bir iskelet gösterir.
İskeletler yerleşimi korur ve ilerlemeyi bildirir; bu da bir sonraki sayfa gelene kadar boş alan göstermekten daha iyi bir deneyim sunar.
Hata ve Yeniden Deneme Satırları
Veri çekme işlemleri başarısız olabilir; bu nedenle hataları uygun biçimde yönetin. Son kısımda, başarısız aralığın yükleme işlevini yeniden çağıran bir yeniden deneme düğmesine sahip özel bir hata satırı oluşturabilirsiniz.
Bu yaklaşım, kısa bir aksaklıktan sonra listenin kullanılabilir kalmasını sağlar ve tüm sayfayı yeniden yüklemeden kurtulmanız için kullanıcıya açık bir yol sunar.
İmleç ve Ofset Sayfalandırması
Sonsuz listeleri besleyen iki yaygın sayfalandırma biçimi vardır. Ofset sayfalandırması sayfa numarasına veya atlama sayısına göre istek gönderirken imleç sayfalandırması, son görülen öğeyi gösteren opak bir imleçten sonraki öğeleri ister.
İmleç sayfalandırması, canlı ve değişen veriler için genellikle daha güvenilirdir; çünkü öğeler eklendiğinde ofsetlerin neden olabileceği kaymaları ve yinelemeleri önler.
React Query useInfiniteQuery ile Birleştirme
React Query useInfiniteQuery, sanallaştırmayla doğal biçimde uyumludur. Çekilen sayfaları, sonraki imleci ve yükleme ile hata durumlarını yönetirken react-window, düzleştirilmiş sayfaları verimli biçimde oluşturur.
Sayfaları liste için tek bir dizi hâline getirir ve onItemsRendered eşiğinizden fetchNextPage'i çağırırsınız; böylece önbelleğe alma ve yeniden deneme özelliklerinden ek çaba göstermeden yararlanırsınız.
Hızlı Kontrol: Sonsuz Kaydırma Tetikleme Koşulu
Sanallaştırılmış bir sonsuz listede ne zaman daha fazla veri çekileceğini belirleyin.
Özet: Veri Çekmeyle Sanallaştırma
Sonsuz kaydırma, kullanıcı sona yaklaştıkça sayfaları yükler. onItemsRendered indeksleri bildirir; overscanStopIndex ile itemCount'ı karşılaştırmak, yinelenen isteklere karşı koruma sağlayarak ne zaman veri çekileceğini gösterir.
Yer tutucu ve hata satırlarını, kayıt tutma için react-window-infinite-loader'ı ve canlı veriler için imleç sayfalandırmasını kullanın. React Query useInfiniteQuery, sayfaları, imleçleri ve durumları react-window oluşturmasıyla birlikte yönetir.
Sıkça Sorulan Sorular
“Sanallaştırmayı Veri Getirmeyle Birleştirme” dersi ücretsiz mi?
Evet — “Sanallaştırmayı Veri Getirmeyle Birleştirme” 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.
“Sanallaştırmayı Veri Getirmeyle Birleştirme” dersinde ne öğreneceğim?
Sanallaştırılmış liste sonuna ulaştığında veri getirmeyi tetikleyerek sonsuz kaydırmayı uygulayı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.
“Sanallaştırmayı Veri Getirmeyle Birleştirme” 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
- Büyük Liste Görüntüleme Sorunu
- FixedSizeList: Binlerce Ögeyi Görüntüleme
- VariableSizeList: Dinamik Satır Yükseklikleri
- Sanallaştırmayı Veri Getirmeyle Birleştirme