Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice 5 : Créer et Contrôler un Formulaire en React
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Exercice 5 : Créer et Contrôler un Formulaire en React

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
8e lecture en min
Partager
Cet article fait partie du guide Tutoriel React JS : Apprenez à Créer des Applications Modernes avec des Projets Concrets, partie 12 sur 13.

 Les développeurs rencontrent souvent des difficultés pour créer des formulaires interactifs et réactifs en utilisant ReactJS, surtout lorsqu’il s’agit de gérer efficacement l’état des données utilisateur.

Sans une approche structurée, ces formulaires peuvent rapidement devenir difficiles à maintenir, entraînant des erreurs de validation et une mauvaise expérience utilisateur.

Cet article vous guide étape par étape dans la création d’un formulaire ReactJS fonctionnel, avec une gestion optimale de l’état et des données, pour des interfaces plus fluides et performantes.

Table de matière
Exercice d’applicationConclusion

Exercice d’application

Pour appliquer les concepts que nous avons abordés sur les contrôles de formulaire en ReactJS, je vais vous présenter l’exercice que nous allons travailler ensemble.

 

Affichage du résultat après l'implémentation des fonctionnalités

Voici un formulaire simple à compléter. Lorsque l’utilisateur envoie les données, une alerte récapitulant les informations saisies s’affichera après.

Ainsi, pour avancer vers la concrétisation de ce projet fantastique, nous commencerons par établir les fondations essentielles en premier lieu.

Créerons d’abord un fichier app.js dans le dossier src : src/ app.js

				
					import './styles/app.css'
export default function App(){
return(
<section>
<h3>Envoyer de message</h3>
</section>
)
}
				
			

Ensuite, nous l’importerons dans le fichier index.js afin d’appeler notre composant à partir de src/index.js.

				
					import React from 'react';
import ReactDOM from 'react-dom/client';
import './styles/index.css'
import App from './app';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App/>
</React.StrictMode>
);
				
			

Afin d’apporter une légère mise en forme à notre application, nous allons créer un fichier app.css dans le répertoire styles : src/styles/app.css.

				
					body{
background-color:#16a085;
}
section{
background-color:#ecf0f1;
width: 250px;
margin: auto;
margin-top: 40px;
padding: 15px;
border-radius: 5px;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 1rem;
}
section h3{
text-align: center;
color: #c0392b;
font-size: 1rem;
}
				
			

Nous avons maintenant correctement établi les fondations de notre projet. En le lançant, nous obtiendrons quelque chose de similaire à ceci dans le navigateur :

Illustration de l'exercice à travailler ensemble pour apprendre ReactJS

Excellent travail, n’est-ce pas ? Maintenant, passons à la création de notre formulaire.

Créons maintenant le composant formulaire pour notre message.

Src/component /message.js

 

				
					import '../styles/message.css'
export default function Message(){
return(
<form>
<div>
<label htmlFor="nom">Nom:</label>
<input
type="text"
id="nom"
name="nom"
/>
</div>
<div>
<label htmlFor="email">Email:</label>
<input
type="email"
id="email"
name="email"
/>
</div>
<div>
<label htmlFor="message">Message:</label>
<textarea
id="msg"
name="msg"
/>
</div>
<button type="submit">Envoyer</button>
</form>
)
}
				
			

Maintenant, nous allons utiliser une nouvelle approche. Au lieu d’importer directement notre composant dans le fichier index.js, importons-le dans le fichier app.js. Comme nous l’avons déjà importé précédemment, le fichier app.js dans le fichier index.js importe tout son contenu.

Src/app.js

				
					import Message from './component/message'
import './styles/app.css'
export default function App(){
return(
<section>
<h3>Envoyer de message</h3>
<Message/>
</section>
)
}
				
			

C’est ligne qu’on a modifiée

import Message from ‘./component/message’

Pour vérifier notre progression, lançons maintenant le projet:

				
					npm start
				
			
Établissement des fondations pour un projet développé en ReactJS

Formation React 18 - Maîtriser la Création d'Interfaces Interactives

Dominez la création d'interfaces modernes avec React 18 et ses nouvelles fonctionnalités!

Découvrir cette formation
formation IT en ligne pour améliorer vos compétences techniques et professionnelles

Nous disposons désormais d’un formulaire assez basique. Apportons-lui quelques modifications esthétiques en utilisant CSS maintenant.

Src/styles/message.css

				
					form div{
margin-bottom: 10px;
}
form label {
display: block;
margin-bottom: 5px;
font-weight: 700;
}
form input,form textarea{
width: 100%;
padding: 9px;
box-sizing: border-box;
border-radius: 5px;
border: 1px solid #ddd;
outline: none;
}
form button{
display: block;
margin: auto;
background-color:#007bff;
border:none;
padding: 10px 20px;
color:#fff;
border-radius:5px;
cursor: pointer;
font-size: 1rem;
font-weight: 700;
}
form button:hover{
background-color:#0056b3;
}
				
			

Et par la suite, vous lancez le projet et vous verrez que notre page prend une forme comme ceci :

Vérification de la progression dans le développement d'une application ReactJS

Excellent, nous sommes sur le point d’atteindre notre objectif.

Nous allons maintenant contrôler notre formulaire.

Examinons notre composant dans notre composant : src/component/message.js

				
					import { useState } from 'react'
import '../styles/message.css'
export default function Message(){
const [formData,setFormData] = useState({
nom:'',
email:'',
msg:''
});
function Changer (e){
let {name,value} = e.target;
setFormData({
...formData,[name] : value
});
}
function Valider(e) {
e.preventDefault();
let message = `
Votre nom : ${formData.nom}
Votre email : ${formData.email}
Votre message : ${formData.msg}`;
alert('Votre message : ' + message);
setFormData({
nom: '',
email: '',
msg: ''
});
}
return(
<form onSubmit={Valider}>
<div>
<label htmlFor="nom">Nom:</label>
<input
type="text"
id="nom"
name="nom"
value={formData.nom}
onChange={Changer}
/>
</div>
<div>
<label htmlFor="email">Email:</label>
<input
type="email"
id="email"
name="email"
value ={formData.email}
onChange={Changer}
/>
</div>
<div>
<label htmlFor="message">Message:</label>
<textarea
id="msg"
name="msg"
value={formData.msg}
onChange={Changer}
/>
</div>
<button type="submit">Envoyer</button>
</form>
)
}
				
			
  • const [formData, setFormData] = useState({ … }): Ceci utilise le hook useState pour initialiser un état local formData.
  • formData contient les données du formulaire (nom, email et message), et setFormData est une fonction pour mettre à jour cet état.
  • function Changer(e) { … }: Cette fonction est utilisée pour mettre à jour formData à chaque fois qu’un champ de formulaire est modifié. Elle extrait le nom et la valeur du champ modifié à partir de l’événement e et met à jour formData avec la nouvelle valeur.
  • function Valider(e) { … }: Cette fonction est appelée lorsque le formulaire est soumis. Elle empêche le comportement par défaut de l’événement de soumission (rechargement de la page), puis elle crée un message contenant les données saisies dans le formulaire. Ensuite, elle affiche ce message dans une boîte d’alerte et réinitialise les valeurs du formulaire à vide.

Le retour de la fonction Message rend le formulaire JSX. Il comprend des champs pour le nom, l’email et le message, chacun étant lié à l’état local formData via l’attribut value et surveillé par la fonction Changer via l’attribut onChange. Lorsque le formulaire est soumis, la fonction Valider est appelée.

Voilà, passons au test maintenant pour voir si tout fonctionne bien, en lancant la fameuse commande dans le terminal : npm start

Vérification de la progression dans le développement d'une application ReactJS
formulaire de test informatique pour analyse de données et retours d'expérience IT

Une fois les données envoyées, voici l’alerte.

Affichage d'une alerte dans une application développée en ReactJS

Voilà, on a terminé notre exercice avec succès .

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

Conclusion

En réalisant cet exercice ReactJS, vous avez appris à créer, styliser et valider un formulaire interactif. Grâce aux hooks comme useState, vous maîtrisez désormais la gestion de l’état dans vos composants. Ce projet est une base solide pour explorer des fonctionnalités avancées de React. Continuez à pratiquer pour renforcer vos compétences en ReactJS et améliorer vos projets futurs.

 

 
 
 
 
Cet article fait partie du guide Tutoriel React JS : Apprenez à Créer des Applications Modernes avec des Projets Concrets, partie 12 sur 13.
< Gérer les Formulaires en React : Inputs, Checkbox et Boutons RadiosMise en Place de la Navigation avec React Router >

ÉTIQUETÉ : Reactjs
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice 5 : Créer et Contrôler un Formulaire en React

© Alphorm - Tous droits réservés