Chapitre 9 : Composants contrôlés
Interactions utilisateurs, Evénements, Composants contrôlés, Synchronisation UI / état
Les interactions utilisateurs en React
Une application React est interactive : l’utilisateur clique, saisit du texte, sélectionne des options. Ces interactions doivent modifier l’état de l’application afin que l’interface se mette à jour. En React, toute interaction suit le même principe :
Interaction utilisateur → événement → mise à jour de l’état → re-render
Les événements en React
Les événements permettent à l’utilisateur d’interagir avec l’application React. Les plus courants sont :
- onClick
- onChange
- onSubmit
Ces événements déclenchent du code en réponse aux actions de l’utilisateur.
Exemple : Afficher un texte après le clic d’un bouton
Pour qu’une interaction ait un impact sur l’interface, elle doit modifier l’état. C’est pourquoi les valeurs saisies par l’utilisateur sont généralement stockées dans l’état du composant. L’état devient la source de vérité de l’interface.
Les composants contrôlés
Un composant contrôlé est un élément d’interface dont la valeur est entièrement pilotée par l’état React.
L’utilisateur ne modifie pas directement l’élément : il déclenche un événement qui met à jour l’état.
Cette approche permet :
- de lire et modifier facilement la valeur
- de déclencher des traitements ou validations
- de garder un comportement prévisible
Synchronisation UI / Etat
La synchronisation entre l’interface et l’état garantit que :
- ce que l’utilisateur voit correspond aux données internes
- toute modification passe par un chemin clair
Si l’état change, l’interface se met à jour automatiquement. Si l’utilisateur interagit avec l’interface, l’état est mis à jour.
Puisque toutes les valeurs sont stockées dans l’état, il devient facile d’appliquer des règles (exemple: champ obligatoire, longueur minimale, format attendu)
La validation se fait directement à partir de l’état, avant de déclencher une action. Même simple, cette logique améliore la fiabilité de l’application.
Cas concret simple : les formulaires, ce n’est finalement qu’un ensemble d’entrées utilisateur contrôlées.
Questions clés (validation des acquis du chapitre)
- Comment React gère-t-il les interactions utilisateur ? Via des événements qui déclenchent des mises à jour de l’état.
- Qu’est-ce qu’un composant contrôlé ? Un composant dont la valeur est définie et contrôlée par l’état React.
- Pourquoi l’état est-il la source de vérité ? Parce que l’interface se base toujours sur l’état pour s’afficher.
- Quel est le lien entre événement et re-render ? Un événement met à jour l’état, ce qui provoque un nouveau rendu.
Exercices :
Exercice - Création d’un formulaire
- Créer un composant “Formulaire” qui contient 2 champs texte correspondant au nom et au mail de la personne. Il contient aussi un bouton “Submit”.
- La valeur saisie dans chaque champ doit être affichée en temps réel.
- Pas de contraintes sur le champs “Nom”, mais le champ “Mail” doit au moins vérifier que la valeur saisie contient un “@”.
- Le bouton “Submit” est désactivé si l’un des 2 champs est vide, ou bien ne respecte pas la règle métier.
- Si les valeurs sont correctes, le bouton “Submit” est cliquable et log “Formulaire envoyé” (console.log(“Formulaire envoyé”).
Exercice - Le Cadenas
https://docs.google.com/document/d/1Mgm8pwB-lC74zsuBfHluxU00u87nVHW5DE8An7zQrfw/edit?usp=sharing