0Pricing
React Academy · Ders

Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz

Derin aktarma zincirlerini belirleyin ve gereksiz gürültüyü gerçek karmaşıklıktan ayırın.

Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz, 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.

Hoş Geldiniz

Bu derste prop aktarımını belirlemeyi, ne zaman gerçek sorunlara yol açtığını anlamayı ve prop aktarmanın doğru ve basit çözüm olduğu durumları ayırt etmeyi öğreneceksiniz.

Prop Aktarımı Nedir?

Prop aktarımı, bir prop'u kendileri kullanmayan, yalnızca alt bileşenlerinin ihtiyaç duyduğu ara bileşenlerden geçirerek aktardığınızda gerçekleşir. Her orta katman prop'u kabul etmeli ve ileriye aktarmalıdır.
// Middle component: receives 'user' only to pass it down
function Layout({ user }) {
  return <Sidebar user={user} />;
}
// Sidebar: receives 'user' only to pass it down
function Sidebar({ user }) {
  return <UserAvatar user={user} />;
}
// UserAvatar: actually uses 'user'
function UserAvatar({ user }) {
  return <img src={user.avatarUrl} />;
}

Aktarımın Uygun Olduğu Durumlar

1–2 düzey boyunca aktarım yapmak çoğu zaman tamamen uygundur ve en basit çözümdür. Sığ düzeylerde ek bir prop kullanmanın maliyeti, Context veya bir durum kütüphanesi eklemenin maliyetinden daha düşüktür.

Aktarımın Soruna Dönüştüğünü Gösteren İşaretler

Aktarım şu durumlarda sorun olur: (1) prop'lar onları kullanmayan 4 veya daha fazla bileşen düzeyinden geçiyorsa, (2) bir prop'u yeniden adlandırmak birçok dosyada değişiklik yapmayı gerektiriyorsa, (3) veriyi gerçekte hangi bileşenin kullandığını anlamak zorsa.

Bileşen Bileşimiyle Yeniden Düzenleme

Context kullanmaya yönelmeden önce **bileşen bileşimini** deneyin. Ham veri yerine tamamen oluşturulmuş tüketici bileşenini prop olarak (veya children ile) aktarın. Ara katmanın veriyi bilmesine hiç gerek kalmaz.
// Instead of drilling 'user' through Layout → Sidebar → UserAvatar,
// render UserAvatar at the top level and pass it as a slot:
function App() {
  return <Layout sidebar={<UserAvatar user={user} />} />;
}

Bileşen Bileşimi Bağımlılığı Azaltır

Bileşim, verinin sahibi olan üst bileşenin tüketici bileşenini doğrudan oluşturması anlamına gelir. Ara düzen bileşenleri tamamlanmış JSX alır; böylece veriye tamamen bağımsız hâle gelir.

Context Ne Zaman Kullanılır?

Context'i şu durumlarda kullanın: (1) bileşim, karmaşık JSX'in birçok katmandan geçirilmesini gerektirecekse, (2) ağaç genelindeki birbiriyle ilgisiz birçok bileşenin aynı verilere ihtiyacı varsa (ör. mevcut kullanıcı, tema, yerel ayar).

Durum Kütüphanesi Ne Zaman Kullanılır?

Durum karmaşıksa, sık sık güncelleniyorsa, geliştirme araçları gerekiyorsa veya tamamen ayrı bileşen ağaçları arasında paylaşılması gerekiyorsa Zustand, Redux ya da benzer bir kütüphane kullanın.

Ters Veri Akışı

Prop aktarımı geri çağırmalar için de geçerlidir. Bir `onChange` işleyicisini beş düzey aşağı aktarmak, veri aktarmak kadar zahmetlidir. Geri çağırmalar için de aynı bileşim ve Context stratejilerini uygulayın.

Karar Akışı

Şunları sorun: Kaç düzey var? 1–2: doğrudan aktarın. 3 veya daha fazla: önce bileşimi deneyin. Hâlâ karmaşıksa: Context kullanın. Karmaşık güncelleme mantığı veya ağaçlar arası paylaşım varsa: bir durum kütüphanesi kullanın.

Hızlı Kontrol

Prop aktarımını çözmek için Context kullanmaya yönelmeden ÖNCE hangi çözümü denemelisiniz?

Özet

1–2 düzeylik prop aktarımı uygundur. 3 düzeyden sonra önce bileşen bileşimini deneyin. Aynı verinin birçok tüketicisi için Context kullanın. Karmaşık veya ağaçlar arası durum için bir durum kütüphanesi kullanın.

Sırada

Sıradaki ders: **Kardeş Bileşenlerle İletişim Kalıpları** — paylaşılan üst bileşen durumu ve geri çağırma prop'ları aracılığıyla iki kardeş bileşeni koordine edeceksiniz.

Sıkça Sorulan Sorular

“Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz” dersi ücretsiz mi?

Evet — “Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz” 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.

“Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz” dersinde ne öğreneceğim?

Derin aktarma zincirlerini belirleyin ve gereksiz gürültüyü gerçek karmaşıklıktan ayırı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 2. dersidir.

“Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz” 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. State'i Yukarı Taşıma: İlkeler ve Örnekler
  2. Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz
  3. Kardeş Bileşenler Arası İletişim Düzenleri
  4. Doğru State Konumunu Seçme
← React Academy Sayfasına Dön