ReactJS - Propriétés (props) : Un guide pour les débutants
Bonjour, futurs développeurs React ! Aujourd'hui, nous allons plonger dans l'un des concepts les plus fondamentaux de React : les Propriétés, ou comme nous les appelons affectueusement, "props". Ne vous inquiétez pas si vous êtes nouveau dans la programmation - je vais vous guider pas à pas, tout comme j'ai fait pour des centaines d'étudiants au fil des ans. Mettons-nous en route pour cette aventure passionnante ensemble !
Qu'est-ce que les Props ?
Avant de sauter dans le code, comprenons ce qu'est une prop. Imaginez que vous construisez une maison (notre application React). Les props sont comme les plans qui indiquent à chaque pièce (composant) comment elle devrait être et ce qu'elle devrait contenir. C'est un moyen de transmettre des données d'un composant parent à un composant enfant.
Utilisation des Props
Commençons par un exemple simple. Nous allons créer un composant Greeting
qui affiche un message personnalisé.
function Greeting(props) {
return <h1>Bonjour, {props.name} !</h1>;
}
function App() {
return (
<div>
<Greeting name="Alice" />
<Greeting name="Bob" />
</div>
);
}
Dans cet exemple, name
est une prop que nous passons au composant Greeting
. Voici un détail :
- Nous définissons un composant
Greeting
qui attend un objetprops
. - À l'intérieur de
Greeting
, nous utilisonsprops.name
pour accéder à la propname
. - Dans notre composant
App
, nous utilisonsGreeting
deux fois, en passant des propsname
différentes.
Lorsque vous exécutez ce code, vous verrez deux salutations : "Bonjour, Alice !" et "Bonjour, Bob !".
Passage de Multiple Props
Les props ne se limitent pas qu'aux chaînes de caractères. Élargissons notre composant Greeting
pour inclure plus d'informations :
function Greeting(props) {
return (
<div>
<h1>Bonjour, {props.name} !</h1>
<p>Âge : {props.age}</p>
<p>Couleur favorite : {props.color}</p>
</div>
);
}
function App() {
return (
<div>
<Greeting name="Alice" age={28} color="bleu" />
<Greeting name="Bob" age={32} color="vert" />
</div>
);
}
Maintenant, nous passons trois props : name
, age
, et color
. Notez comment nous utilisons des accolades {}
pour la prop age
? C'est parce que nous passons un nombre, pas une chaîne de caractères.
Props par Défaut
Parfois, vous souhaitez avoir une valeur de secours pour une prop au cas où elle ne serait pas fournie. C'est là que les props par défaut deviennent utiles. Modifions notre composant Greeting
pour avoir un âge par défaut :
function Greeting(props) {
return (
<div>
<h1>Bonjour, {props.name} !</h1>
<p>Âge : {props.age}</p>
</div>
);
}
Greeting.defaultProps = {
age: 25
};
function App() {
return (
<div>
<Greeting name="Alice" age={28} />
<Greeting name="Bob" />
</div>
);
}
Dans cet exemple, si nous ne fournissons pas de prop age
(comme pour Bob), elle passera par défaut à 25.
Props vs État
Maintenant que nous comprenons les props, comparons-les à un autre concept important de React : l'état. Voici une comparaison rapide :
Props | État |
---|---|
Passé du parent à l'enfant | Géré à l'intérieur du composant |
En lecture seule | Peut être modifié |
Aide les composants à communiquer | Permet aux composants d'être dynamiques |
Voyons cela en action avec un composant simple de compteur :
import React, { useState } from 'react';
function Counter(props) {
const [count, setCount] = useState(props.initialCount);
return (
<div>
<p>Compte : {count}</p>
<button onClick={() => setCount(count + 1)}>Incrémenter</button>
</div>
);
}
function App() {
return (
<div>
<Counter initialCount={0} />
<Counter initialCount={10} />
</div>
);
}
Dans cet exemple :
-
initialCount
est une prop. Elle est passée deApp
àCounter
et ne change pas. -
count
est un état. Il est initialisé avec la valeur deinitialCount
, mais peut être modifié par la fonctionsetCount
.
Conclusion
Les props sont une partie fondamentale de React, vous permettant de créer des composants flexibles et réutilisables. Elles sont comme les ingrédients secrets qui rendent vos recettes React uniques et délicieuses !
Souvenez-vous :
- Les props descendent du parent à l'enfant.
- Elles sont en lecture seule - ne tentez pas de modifier les props directement !
- Utilisez les props par défaut pour des valeurs de secours.
- Les props sont pour transmettre des données, l'état est pour gérer les données.
En continuant votre voyage avec React, vous trouverez des utilisations de plus en plus complexes et intéressantes pour les props. Mais ne vous inquiétez pas - avec la pratique, cela deviendra second nature. Comme apprendre à faire du vélo, une fois que vous l'avez, vous ne l'oubliez jamais !
Continuez à coder, continuez à apprendre, et surtout, amusez-vous ! React est une bibliothèque incroyable, et je suis excité pour vous voir découvrir tout ce qu'elle a à offrir. Jusqu'à la prochaine fois, bon codage et amusez-vous bien avec React !
Credits: Image by storyset