0Pricing
React Academy · Leçon

Principes fondamentaux de props.children

Transmettre du JSX comme enfants, afficher un ou plusieurs enfants et effectuer un rendu conditionnel des enfants.

Principes fondamentaux de props.children est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.

Bienvenue

Dans cette leçon, vous apprendrez à transmettre du JSX en tant qu'enfants, à afficher un enfant unique ou plusieurs enfants, et à afficher conditionnellement des enfants dans les composants React.

La propriété children

Tout JSX placé entre les balises ouvrante et fermante d'un composant est automatiquement disponible dans `props.children`. C'est ainsi que vous créez des composants conteneurs ou de mise en page.
function Card({ children }) {
  return <div className="card">{children}</div>;
}

// Usage
<Card><p>Hello world</p></Card>

Enfant unique ou plusieurs enfants

Lorsque vous transmettez un enfant unique, `children` est un élément React. Lorsque vous transmettez plusieurs enfants, `children` est un tableau. Le comportement change selon le nombre d'enfants transmis.
<Card>One child</Card>          // children is a string
<Card><p>A</p><p>B</p></Card>  // children is an array

Afficher directement les enfants

L'utilisation la plus simple de children consiste à les afficher directement dans le JSX. Le parent contrôle la mise en page et le style ; le consommateur contrôle le contenu.
function Section({ title, children }) {
  return (
    <section>
      <h2>{title}</h2>
      <div className="content">{children}</div>
    </section>
  );
}

Affichage conditionnel des enfants

Vérifiez que des enfants ont été transmis avant de les afficher. Un composant peut fournir un contenu de remplacement si aucun enfant n'est fourni.
function Panel({ children }) {
  if (!children) return <p>Nothing to show</p>;
  return <div className="panel">{children}</div>;
}

Children comme propriété de rendu

Children peut également être une **fonction** (modèle de propriété de rendu). Le parent l'appelle avec des données, et le consommateur contrôle l'affichage. Il s'agit d'un ancien modèle ; les hooks personnalisés le remplacent souvent aujourd'hui.
function DataLoader({ children }) {
  const data = useFetchData();
  return children(data); // consumer receives data
}

<DataLoader>{data => <ul>{data.map(...)}</ul>}</DataLoader>

Transmettre children comme propriété

Children ne doit pas forcément utiliser l'emplacement spécial `{children}`. Vous pouvez transmettre du JSX avec n'importe quel nom de propriété. C'est le fondement des emplacements nommés.
function Layout({ header, footer, children }) {
  return (
    <div>
      <header>{header}</header>
      <main>{children}</main>
      <footer>{footer}</footer>
    </div>
  );
}

Enfants par défaut

Vous pouvez fournir des enfants par défaut en utilisant la syntaxe des paramètres par défaut de JavaScript dans la déstructuration. Si le parent ne transmet rien, le contenu par défaut est affiché.
function Button({ children = 'Click me' }) {
  return <button>{children}</button>;
}

Fragments et enfants multiples

Pour renvoyer plusieurs éléments sans div conteneuse, utilisez `React.Fragment` ou la forme abrégée `<>...`. Cette approche est pratique pour les composants de mise en page lorsqu'un nœud DOM supplémentaire perturberait le CSS.
function Row({ children }) {
  return <>{children}</>;
}

TypeScript : typer children

Dans TypeScript, utilisez `React.ReactNode` pour typer children : ce type accepte les éléments, les chaînes, les nombres, les tableaux, null et undefined.
interface Props {
  children: React.ReactNode;
}

function Box({ children }: Props) {
  return <div>{children}</div>;
}

Question rapide

Lorsque vous transmettez plusieurs éléments JSX entre les balises d'un composant, quel est le type de props.children ?

Récapitulatif

props.children contient tout JSX transmis entre les balises. Un enfant unique est un élément ; plusieurs enfants forment un tableau. Utilisez des vérifications conditionnelles pour les enfants facultatifs et des propriétés nommées pour les emplacements nommés.

À suivre

Prochaine leçon : **Utilitaires React.Children** — vous utiliserez React.Children.map, count et toArray pour manipuler les enfants en toute sécurité, quel que soit leur type ou leur nombre.

Questions Fréquemment Posées

La leçon « Principes fondamentaux de props.children » est-elle gratuite ?

Oui — le texte complet de « Principes fondamentaux de props.children » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Principes fondamentaux de props.children » ?

Transmettre du JSX comme enfants, afficher un ou plusieurs enfants et effectuer un rendu conditionnel des enfants. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer React Academy ?

Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Principes fondamentaux de props.children » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon React Academy ?

Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Principes fondamentaux de props.children
  2. Utilitaires React.Children
  3. Emplacements nommés via les props d’objet
  4. Cloner et injecter des props avec cloneElement
← Retour à React Academy