Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| front:composants_et_pages [2025/09/25 14:12] – paolo | front:composants_et_pages [2025/10/01 11:56] (Version actuelle) – paolo | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| # Composants et pages | # Composants et pages | ||
| + | |||
| + | Documentation [React](https:// | ||
| Les composants sont les éléments de base d'un projet React. Chacun d' | Les composants sont les éléments de base d'un projet React. Chacun d' | ||
| + | |||
| + | Et si nous partions du début ? | ||
| ### Où ranger un composant ? | ### Où ranger un composant ? | ||
| Ligne 8: | Ligne 12: | ||
| Pour cela on a deux possibilités: | Pour cela on a deux possibilités: | ||
| - | * on crée un fichier '' | + | * on crée un fichier '' |
| - | * on crée un dossier '' | + | * on crée un dossier '' |
| - | + | ||
| - | La deuxième méthode est conseillée car elle offre un espace dédié au composant (dossier '' | + | |
| + | La deuxième méthode est conseillée car elle offre un espace dédié au composant (dossier '' | ||
| + | . | ||
| ### Comment faire un composant ? | ### Comment faire un composant ? | ||
| - | Un composant est avant tout une fonction **JS** (fléchée ou déclarée) retournant du **JSX** (un mélange de **JS** et de balises **HTML** en quelques sortes). Un composant peut renvoyer une portion d’interface, | + | Un composant est avant tout une fonction **JS** (fléchée ou déclarée) retournant du **JSX** (un mélange de **JS** et de balises **HTML** en quelques sortes). Un composant peut renvoyer une portion d’interface, |
| - | + | ||
| - | Je vous invite à jeter un coup d' | + | |
| Ici on va rester simple avec un composant avec quelques **props**: | Ici on va rester simple avec un composant avec quelques **props**: | ||
| Ligne 23: | Ligne 25: | ||
| ``` | ``` | ||
| + | // src/ | ||
| + | |||
| export const Input = (props) => { | export const Input = (props) => { | ||
| const { label, id, ...inputProps } = props; | const { label, id, ...inputProps } = props; | ||
| Ligne 46: | Ligne 50: | ||
| ``` | ``` | ||
| - | Utilisons maintenant ce composant dans une page de connexion par exemple | + | Utilisons maintenant ce composant dans une page de connexion par exemple. |
| ``` | ``` | ||
| + | // src/ | ||
| + | |||
| import { Input } from " | import { Input } from " | ||
| Ligne 57: | Ligne 63: | ||
| <Input | <Input | ||
| id=" | id=" | ||
| + | name=" | ||
| label=" | label=" | ||
| type=" | type=" | ||
| Ligne 63: | Ligne 70: | ||
| <Input | <Input | ||
| id=" | id=" | ||
| + | name=" | ||
| label=" | label=" | ||
| type=" | type=" | ||
| Ligne 78: | Ligne 86: | ||
| Vous entrevoyez un peu le principe maintenant ? Les composants sont réutilisables et peuvent s' | Vous entrevoyez un peu le principe maintenant ? Les composants sont réutilisables et peuvent s' | ||
| - | Il n'y a pas vraiment de convention en ce qui concerne l' | + | Il n'y a pas vraiment de convention en ce qui concerne l' |
| Bon assez parlé ! Et si on essayait d' | Bon assez parlé ! Et si on essayait d' | ||
| - | Pour çà, on peut ouvrir le fichier '' | + | Pour cela, nous pouvons |
| ``` | ``` | ||
| + | // src/App.jsx | ||
| + | |||
| import { Login } from " | import { Login } from " | ||
| Ligne 94: | Ligne 104: | ||
| ``` | ``` | ||
| - | On lance la commande '' | + | Nous lançons |
| + | |||
| + | Les composants ci-dessus ainsi que tous les exemples suivants sont stylisés " | ||