0Pricing
React Academy · Ders

Nesne Props'larıyla Adlandırılmış Yuvalar

JSX'i adlandırılmış props üzerinden aktararak header/body/footer yuvalarını uygulayın.

Nesne Props'larıyla Adlandırılmış Yuvalar, 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.

Hoş Geldiniz

Bu derste JSX'i adlandırılmış özellikler üzerinden aktararak esnek adlandırılmış yuvalar uygulayacaksınız. Böylece katı bir alt öğe yapısı olmadan üst bilgi, gövde ve alt bilgi bölgelerine sahip düzen bileşenleri oluşturabileceksiniz.

Alt Öğenin Sınırlılığı

Tek bir `children` özelliği bir bölge için yeterlidir. Bir bileşenin kartın üst bilgisi ve alt bilgisi gibi birden çok bağımsız içerik bölgesine ihtiyacı olduğunda, JSX taşıyan adlandırılmış özellikler temiz çözümdür.

Adlandırılmış Özellik Yuvaları

Bileşenin arayüzünde her yuva için bir özellik tanımlayın. Üst bileşen her özelliğe JSX aktarır. Bileşen de her yuvayı doğru konumda oluşturur.
function Card({ header, body, footer }) {
  return (
    <div className="card">
      <div className="card-header">{header}</div>
      <div className="card-body">{body}</div>
      <div className="card-footer">{footer}</div>
    </div>
  );
}

// Usage
<Card
  header={<h2>Title</h2>}
  body={<p>Content here</p>}
  footer={<button>OK</button>}
/>

İsteğe Bağlı Yuvalar

Yuvaları, özellik doğru kabul edilen bir değer taşıdığında oluşturulacak şekilde isteğe bağlı hâle getirin. Örneğin aynı bileşen bu sayede alt bilgiyle veya alt bilgi olmadan çalışabilir.
function Card({ header, children, footer }) {
  return (
    <div>
      {header && <div className="header">{header}</div>}
      <div className="body">{children}</div>
      {footer && <div className="footer">{footer}</div>}
    </div>
  );
}

Alt Öğeleri ve Adlandırılmış Yuvaları Birlikte Kullanma

Birincil içerik bölgesi için `children`, ikincil bölgeler için adlandırılmış özellikler kullanın. Bu yaklaşım, en yaygın kullanım durumunun en kolay şekilde kullanılabilmesi ilkesine dayanır.
<Dialog
  title="Confirm"
  actions={<><button>Cancel</button><button>OK</button></>}
>
  <p>Are you sure?</p>  {/* children = primary slot */}
</Dialog>

TypeScript: Adlandırılmış Yuvaları Türlendirme

Her türlü JSX içeriğini kabul etmesi için adlandırılmış yuva özelliklerini `React.ReactNode` olarak türlendirin.
interface CardProps {
  header?: React.ReactNode;
  children: React.ReactNode;
  footer?: React.ReactNode;
}

Adlandırılmış Yuvalar ve Birleşik Bileşenler

Adlandırılmış özellikler basit ve açıktır. Birleşik bileşenler (örneğin ``), karmaşık bileşen aileleri için daha kullanışlıdır; ancak bağlam ile daha fazla kurulum gerektirir. Adlandırılmış özelliklerle başlayın ve gerekirse geçiş yapın.

Bileşenleri Yuva Olarak Aktarma

Bir yuvayı JSX olarak değil, React bileşeni olarak da türlendirebilirsiniz. Üst bileşen bir bileşen başvurusu aktarır ve düzen bileşeni bunu oluşturur. Böylece düzen bileşeni yuvanın ne zaman ve kaç kez oluşturulacağını denetler.
function Timeline({ renderItem, items }) {
  return (
    <ul>
      {items.map(item => (
        <li key={item.id}>{renderItem(item)}</li>
      ))}
    </ul>
  );
}

<Timeline
  items={data}
  renderItem={item => <EventCard event={item} />}
/>

Adlandırılmış Yuvalarla Düzen Birleştirme

Sayfa düzeni bileşenleri adlandırılmış yuvaları yoğun biçimde kullanır. `sidebar`, `toolbar` ve `content` yuvalarına sahip bir sayfa iskeleti bileşeni, farklı sayfaların aynı iskeleti her bölgede tamamen farklı içerikle birleştirmesine olanak tanır.

Adlandırılmış Yuvaları Belgeleme

Adlandırılmış yuvalar, TypeScript arayüzleri veya PropTypes aracılığıyla kendi kendini belgeler. Kullananlar hangi yuvaların kullanılabilir, hangilerinin isteğe bağlı olduğunu doğrudan görebilir; böylece harici belgeleme gereksinimi azalır.

Hızlı Kontrol

Her türlü JSX'i kabul eden adlandırılmış bir yuva özelliği için hangi TypeScript türünü kullanmalısınız?

Özet

Adlandırılmış yuva özellikleri, düzen bileşenlerini esnek ve kendi kendini belgeleyen hâle getirir. Ana bölge için alt öğeleri, ikincil bölgeler için adlandırılmış özellikleri kullanın ve bunları React.ReactNode olarak türlendirin.

Sırada

Sıradaki ders: **cloneElement ile Özellikleri Klonlama ve Ekleme** — bir üst bileşenden alt öğelerine görünmeyen özellikler aktarmak için React.cloneElement kullanacaksınız.

Sıkça Sorulan Sorular

“Nesne Props'larıyla Adlandırılmış Yuvalar” dersi ücretsiz mi?

Evet — “Nesne Props'larıyla Adlandırılmış Yuvalar” 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.

“Nesne Props'larıyla Adlandırılmış Yuvalar” dersinde ne öğreneceğim?

JSX'i adlandırılmış props üzerinden aktararak header/body/footer yuvalarını 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 3. dersidir.

“Nesne Props'larıyla Adlandırılmış Yuvalar” 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. props.children Temelleri
  2. React.Children Yardımcıları
  3. Nesne Props'larıyla Adlandırılmış Yuvalar
  4. cloneElement ile Props'ları Klonlama ve Enjekte Etme
← React Academy Sayfasına Dön