0Pricing
React Academy · Ders

React.Children Yardımcıları

Child'ları güvenle değiştirmek için React.Children.map, count ve toArray kullanın.

React.Children Yardımcıları, 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 React.Children yardımcı programlarını (map, count, toArray ve forEach) kullanarak, kaç tane aktarılmış olursa olsun alt öğeleri güvenli biçimde yinelemeyi ve dönüştürmeyi öğreneceksiniz.

Doğrudan Dizi Yöntemlerinin Sorunu

`props.children` tek bir öğe, bir dizi veya undefined olabileceğinden, üzerinde doğrudan `.map()` çağırmak çökmeye neden olur. React.Children yardımcı programları tüm bu durumları güvenli biçimde ele alır.
// Unsafe — crashes if children is a single element
children.map(c => ...);

// Safe
React.Children.map(children, c => ...);

React.Children.map

`Array.prototype.map` gibi çalışır; ancak tek bir alt öğeyi, birden çok alt öğeyi ve null/undefined değerlerini güvenli biçimde ele alır. Klonlanmış öğelerden oluşan bir dizi (veya geri çağırma işlevinin döndürdüğü herhangi bir değeri) döndürür.
function List({ children }) {
  return (
    <ul>
      {React.Children.map(children, (child, i) => (
        <li key={i}>{child}</li>
      ))}
    </ul>
  );
}

React.Children.count

`React.Children.count(children)`, alt öğe sayısını döndürür; tek öğeleri doğru biçimde 1, null/undefined değerlerini ise 0 olarak sayar.
function RequiresTwo({ children }) {
  if (React.Children.count(children) !== 2) {
    throw new Error('Exactly two children required');
  }
  return <div>{children}</div>;
}

React.Children.toArray

Alt öğeleri kararlı anahtarlara sahip düz bir diziye dönüştürür. Böylece iç içe yapı hakkında endişelenmeden normal dizi yöntemlerini kullanarak alt öğeleri sıralayabilir, filtreleyebilir veya dilimleyebilirsiniz.
function Reversed({ children }) {
  const arr = React.Children.toArray(children);
  return <>{arr.reverse()}</>;
}

React.Children.forEach

`.map()` gibidir ancak bir değer döndürmez. Türlerini doğrulamak veya bir arama yapısı oluşturmak gibi yan etkiler için alt öğeler üzerinde yineleme yapmak istediğinizde kullanın.
React.Children.forEach(children, child => {
  if (!React.isValidElement(child)) {
    console.warn('Non-element child found');
  }
});

React.Children.only

`React.Children.only(children)`, tam olarak tek bir alt öğe bulunduğunu doğrular ve bu öğeyi döndürür. Sıfır veya birden çok alt öğe varsa hata verir. Tek alt öğeli arayüzleri zorunlu kılmak için kullanışlıdır.
function SingleChild({ children }) {
  const child = React.Children.only(children);
  return React.cloneElement(child, { 'data-wrapped': true });
}

Alt Öğe Türlerini Doğrulama

Yalnızca belirli bileşen türlerinin alt öğe olarak aktarılmasını zorunlu kılmak için `React.Children.forEach` ve `React.isValidElement` ile alt öğenin türünü birlikte kullanın.
React.Children.forEach(children, child => {
  if (child.type !== TabPanel) {
    throw new Error('Only TabPanel children allowed');
  }
});

React.Children ve Array.from

React 18 ve sonraki sürümlerde alt öğeler, düz bir dizi olmayan bir React öğe ağacı olabilir. Tek öğeler ve Parçalarla ilgili uç durumlardan kaçınmak için her zaman Array.from yerine React.Children kullanın.

Modern Alternatif: toArray ile Düzleştirme

Karmaşık dönüşümler yapmanız gerekiyorsa düz ve anahtarlı bir dizi elde etmek için önce `React.Children.toArray(children)` çağrısını yapın, ardından normal dizi yöntemlerini bu diziye uygulayın.
const items = React.Children.toArray(children);
const first = items[0];
const rest = items.slice(1);

Hızlı Kontrol

Array.map gibi tek bir öğeyi, bir diziyi ve null/undefined alt öğelerini güvenli biçimde ele alan React.Children yöntemi hangisidir?

Özet

Güvenli yineleme için React.Children.map, miktarı kontrol etmek için count, dizi yöntemleri için toArray, yan etkili yineleme için forEach ve tam olarak tek bir alt öğeyi doğrulamak için only kullanın.

Sırada

Sıradaki ders: **Nesne Özellikleriyle Adlandırılmış Yuvalar** — JSX'i adlandırılmış özellikler üzerinden aktararak üst bilgi, gövde ve alt bilgi yuvalarını uygulayacaksınız.

Sıkça Sorulan Sorular

“React.Children Yardımcıları” dersi ücretsiz mi?

Evet — “React.Children Yardımcıları” 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.

“React.Children Yardımcıları” dersinde ne öğreneceğim?

Child'ları güvenle değiştirmek için React.Children.map, count ve toArray kullanı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.

“React.Children Yardımcıları” 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