0Pricing
React Academy · Ders

Veri ve Kod Sınırları için Suspense

Düzenli yükleme durumları oluşturmak için Suspense'i tembel yükleme ve gelecekteki veri kütüphaneleriyle birleştirin.

Veri ve Kod Sınırları için Suspense, 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.

Hoş Geldiniz

Bu derste, kodu bölmek için React.lazy ile ve içerik yüklenirken yedek arayüz göstermek için veri kitaplıklarıyla React Suspense kullanacaksınız.

Suspense Nedir?

Suspense, alt ağacındaki 'askıya alınmış' (bir şeyin yüklenmesini bekleyen) bileşenleri yakalayan ve bunun yerine bir yedek arayüz oluşturan bir React bileşenidir.
<Suspense fallback={<Spinner />}>
  <MyComponent />
</Suspense>

React.lazy ile Suspense

React.lazy(), dinamik içe aktarmayla yüklenen bir bileşen oluşturur. Suspense içinde kullanıldığında, JavaScript paketi indirilene kadar yedek arayüz oluşturulur.
const HeavyChart = React.lazy(() => import('./HeavyChart'));

<Suspense fallback={<p>Loading chart...</p>}>
  <HeavyChart />
</Suspense>

Tek Sınır Altındaki Birden Çok Lazy Bileşen

Aynı Suspense sınırı altındaki birden çok lazy bileşen tek bir yedek arayüzü paylaşır. React, içeriği göstermeden önce ALL bileşenlerin yüklenmesini bekler. Bağımsız yüklemeler için iç içe sınırlar kullanın.

İç İçe Suspense Sınırları

Her şeyi beklemek yerine arayüzün bölümlerini yüklendikçe göstermek için Suspense sınırlarını iç içe yerleştirin. Dış sınırlar daha yavaş yüklemeleri yakalar; iç sınırlar ise hızlı yüklemeleri yönetir.
<Suspense fallback={<PageSkeleton />}>
  <Header />
  <Suspense fallback={<ChartSkeleton />}>
    <LazyChart />
  </Suspense>
</Suspense>

Veri Kitaplıklarıyla Suspense

React Query (suspense: true ile) ve Relay gibi kitaplıklar, veri bekleyen bileşenleri lazy yükleme ile aynı şekilde askıya alır. Yükleme yedeğini Suspense sınırı sağlar.
const { data } = useQuery({ queryKey: ['users'], queryFn: fetchUsers,
  suspense: true }); // component suspends until data is ready
// No loading check needed — data is always available here

React 19'da use() Kancası

React 19'da `use(promise)` kancası, bir promise'i doğrudan bileşen içinde okumanızı sağlar. Promise beklemedeyse bileşen askıya alınır ve en yakın Suspense sınırı yedek arayüzünü gösterir.
import { use } from 'react';

function Profile({ userPromise }) {
  const user = use(userPromise); // suspends until resolved
  return <p>{user.name}</p>;
}

Sıralı Gösterimler için SuspenseList

React.SuspenseList (deneysel), birden çok Suspense sınırını eşgüdümleyerek bunların belirli bir sırayla (yukarıdan aşağıya, hepsi aynı anda ve benzeri) görünmesini sağlar; böylece arayüzün düzensiz biçimde aniden belirmesini önler.

Suspense Hataları Yakalamaz

Suspense yalnızca yükleme durumlarını yönetir. Başarısız veri alma işlemlerinden kaynaklanan hataları yakalamaz. Hem yükleme hem de hata durumlarını yönetmek için Suspense'i bir hata sınırıyla birleştirin.
<ErrorBoundary fallback={<Error />}>
  <Suspense fallback={<Spinner />}>
    <DataComponent />
  </Suspense>
</ErrorBoundary>

Yedek Arayüz Olarak İskelet Ekranlar

Döndürücüler yerine Suspense yedekleri olarak iskelet ekranlar kullanın. İskelet ekranlar, içeriğin şekliyle eşleşen yer tutucu düzenlerdir; içerik geldiğinde düzen kaymasını azaltırlar.

Kısa Kontrol

Bir React.lazy() bileşeninin paketi indirilirken kullanıcılara ne gösterilir?

Özet

Suspense, yüklenen bileşenleri sarar ve bir yedek arayüz gösterir. Kodu bölmek için React.lazy'ı, veri yüklemek için veri kitaplıklarının Suspense modlarını kullanın ve bağımsız, aşamalı gösterimler için sınırları iç içe yerleştirin. Eksiksiz hata yönetimi için bunu hata sınırıyla birlikte kullanın.

Kurs Tamamlandı

Tebrikler! **React'te Eşzamansız Desenler: Vaatler ve Eşzamanlılık** kursunu tamamladınız. Artık yarış durumlarını yönetebiliyor, duyarlı kullanıcı arayüzleri için useTransition ve useDeferredValue kullanabiliyor ve yükleme sınırları için Suspense'den yararlanabiliyorsunuz.

Sıkça Sorulan Sorular

“Veri ve Kod Sınırları için Suspense” dersi ücretsiz mi?

Evet — “Veri ve Kod Sınırları için Suspense” 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.

“Veri ve Kod Sınırları için Suspense” dersinde ne öğreneceğim?

Düzenli yükleme durumları oluşturmak için Suspense'i tembel yükleme ve gelecekteki veri kütüphaneleriyle birleştirin. 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.

“Veri ve Kod Sınırları için Suspense” 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. Yarış Koşulları ve Effect Temizleme
  2. Engellemeyen Arayüz Güncellemeleri için useTransition
  3. Girdi Sıklığını Azaltmak için useDeferredValue
  4. Veri ve Kod Sınırları için Suspense
← React Academy Sayfasına Dön