3.16 Passer des données via des props

Dans cette vidéo, nous appliquons un concept fondamental de React : la transmission de données d'un composant parent à un composant enfant via les props. Au lieu de coder en dur les valeurs dans DepenseItem, nous déclarons un tableau de dépenses dans App.js et nous le parcourons pour générer plusieurs DepenseItem dynamiquement.

Mécanique des props

  • Déclarer un tableau d'objets depenses dans App.js.
  • Chaque objet a id, title, amount et date.
  • Passer ces valeurs en attributs : title={...}.
  • Récupérer avec props.title, props.amount, props.date.

Dans App.js, nous créons un tableau depenses contenant quatre objets (papier toilette, nouvelle TV, assurance voiture, PC) avec id, title, amount et date. Pour chaque dépense, nous instancions un <DepenseItem title={depense.title} amount={depense.amount} date={depense.date} />. Dans DepenseItem, nous remplaçons les valeurs codées en dur par props.title, props.amount et props.date.

// App.js
const depenses = [
  { id: 'd1', title: 'Papier toilette', amount: 9.99, date: new Date(2022, 1, 12) },
  { id: 'd2', title: 'Nouvelle TV', amount: 799.49, date: new Date(2022, 2, 12) },
  { id: 'd3', title: 'Assurance voiture', amount: 294.67, date: new Date(2022, 5, 28) },
  { id: 'd4', title: 'PC', amount: 450, date: new Date(2022, 6, 14) }
];

// DepenseItem.js
function DepenseItem(props) {
  return (
    <Card className="depenses-item">
      <DepenseDate date={props.date} />
      <h2>{props.title}</h2>
      <div className="depenses-item__price">{props.amount} euros</div>
    </Card>
  );
}

Le rendu affiche désormais les quatre dépenses avec chacune son propre titre, montant et date. C'est exactement le pattern fondamental de React : les données descendent du parent vers les enfants via les props, et les composants enfants se contentent d'afficher ce qu'ils reçoivent. Bonne pratique pour la suite : à très bientôt.

En résumé

Cette leçon enseigne comment passer des données d'un composant parent à un composant enfant en utilisant les props React. On crée une structure de données contenant titre, montant et date des dépenses, puis on les transmet via les props (props.title, props.montant, props.date) pour afficher ces valeurs dynamiquement dans le composant enfant.

Points clés

  • Les props permettent de passer des données d'un composant parent à un composant enfant
  • Structure des données : créer un objet avec les propriétés nécessaires (titre, montant, date)
  • Accéder aux props : utiliser props.nomDeLaPropriété dans le composant enfant pour afficher les données
  • Les données sont transmises et affichées dynamiquement, permettant la réutilisabilité du composant
  • Chaque dépense (papier toilette, télévision, assurance, PC) peut être affichée avec ses propriétés respectives

Questions fréquentes

Comment passer des données d'un composant à un autre ?

Utilisez les props. Définissez les propriétés dans le composant parent (titre, montant, date) et accédez-y dans le composant enfant avec la syntaxe props.nomDeLaPropriété.

Qu'est-ce qu'une prop en React ?

Une prop est une propriété qui permet de transmettre des données d'un composant parent à un composant enfant. Elle est accessible dans le composant enfant via l'objet props.

Pourquoi utiliser les props plutôt que de coder les données en dur ?

Les props rendent le composant réutilisable et dynamique. Vous pouvez afficher différentes données (prix, dates) sans modifier le code du composant, simplement en changeant les valeurs des props transmises.