
Gestion de la soumission de formulaire (`onSubmit`)
Apprenez à intercepter et gérer l'événement de soumission de formulaire en React en utilisant l'handler `onSubmit`. Prévenez le comportement par défaut et traitez les données.
Intercepter l'action finale : l'événement onSubmit
Une fois que l'utilisateur a rempli les champs d'un formulaire, l'étape suivante est généralement de soumettre ces informations. En HTML standard, cela se produit lorsque l'utilisateur clique sur un bouton de type `submit` (`
React permet d'intercepter cette action de soumission grâce à l'événement `onSubmit`. Cet événement se déclare comme une prop directement sur l'élément `
Contrôler le flux : `event.preventDefault()`
Le comportement par défaut du navigateur lors de la soumission d'un formulaire HTML est d'envoyer les données au serveur (à l'URL spécifiée dans l'attribut `action` du formulaire) et de provoquer un rechargement complet de la page. Dans le contexte d'une application monopage (Single Page Application - SPA) construite avec React, ce rechargement complet est presque toujours indésirable. Il entraînerait la perte de l'état de l'application côté client et une expérience utilisateur saccadée.
Pour empêcher ce comportement par défaut, la première chose à faire dans votre gestionnaire `onSubmit` est d'appeler `event.preventDefault()`. L'objet `event` est passé automatiquement par React à votre fonction gestionnaire. En appelant sa méthode `preventDefault()`, vous dites au navigateur : "Ne fais pas ce que tu ferais normalement lors d'une soumission de formulaire ; laisse JavaScript (et donc React) gérer la suite."
Oublier `event.preventDefault()` est une erreur courante qui mène souvent à des rechargements de page inattendus et à la perte de l'état lors de la soumission de formulaires en React.
Mettre en place le gestionnaire `onSubmit`
L'implémentation est simple : définissez une fonction (souvent appelée `handleSubmit` ou `onSubmit`) dans votre composant et passez-la à la prop `onSubmit` de votre balise `