Comment créer des formulaires dynamiques en React
Dans ce tutoriel, nous allons apprendre à construire des formulaires dynamiques dans React. En utilisant des formulaires dynamiques, nous pouvons ajouter des champs ou les supprimer en fonction de nos
📺 Calculateur taille écran idéal
Distance recommandée selon la taille et résolution. Pour 4K, on peut s'asseoir 2× plus près qu'en HD.
Questions courantes
Comment créer un formulaire dynamique en React ?
Un formulaire dynamique en React est un formulaire qui peut être modifié en fonction des interactions de l’utilisateur. Pour créer un formulaire dynamique en React, vous pouvez utiliser des bibliothèques telles que React Hook Form ou Final Form.
Quels sont les avantages de l’utilisation de formulaires dynamiques en React ?
Les formulaires dynamiques en React offrent plusieurs avantages, notamment la possibilité de valider les données en temps réel, de gérer les erreurs de manière efficace et d’améliorer l’expérience utilisateur.
Pourquoi utiliser React pour créer des formulaires dynamiques ?
React est un framework JavaScript populaire pour la création d’applications web, et il offre plusieurs avantages pour la création de formulaires dynamiques, notamment la possibilité de gérer les états et les propriétés de manière efficace.
Dans ce tutoriel, nous allons apprendre à construire des formulaires dynamiques dans React. En utilisant des formulaires dynamiques, nous pouvons ajouter des champs ou les supprimer en fonction de nos besoins.
Alors, commençons.
## Comment créer un formulaire en ReactCommençons par créer un formulaire simple. La syntaxe est simple :
`importez ’./App.css’ ;
function App() { return (`
`) ; }
export default App ;` Voici à quoi il ressemblera :

Comment rendre les formulaires dynamiques en React
Créez un état appelé InputFields. Il aura un objet, avec les propriétés nomet âge.
const [inputFields, setInputFields] = useState([ {nom : '', âge : ''} ])
Maintenant, faisons correspondre nos champs de formulaire à partir de leur état inputFields.
`import { useState } de ‘react’ ; importez ’./App.css’ ;
function App() { const [inputFields, setInputFields] = useState([ {nom : ”, âge : ” } ]) return (`
{inputFields.map((input, index) => { return (
) })}
`) ; }
export default App ;` Maintenant, nous ne verrons qu’un seul ensemble de champs de saisie, car nous n’avons qu’un seul objet dans l’état inputFields. Si nous ajoutons d’autres objets, nous verrons plusieurs champs de saisie.

Comment ajouter les valeurs de l’état inputFields ?
Maintenant, ajoutons les valeurs de l’état inputFieldsaux champs de saisie.
`import { useState } de ‘react’ ; importez ’./App.css’ ;
function App() { const [inputFields, setInputFields] = useState([ {nom : ”, âge : ” } ]) return (`
{inputFields.map((input, index) => { return (
) })}
`) ; }
export default App ;` Les valeurs seront input.name et input.age
Ajoutons également un événement onChange qui s’exécutera lorsque nous taperons quelque chose dans les champs de saisie.
Créez une fonction appelée handleFormChange.
`const handleFormChange = () => {
}` Affectez cette fonction aux champs de saisie en tant qu’événement onChange.
handleFormChange(index, event)} /> handleFormChange(index, événement)} /> />
Cet événement onChange prend deux paramètres, indexet event. Index est l’indice du tableau et event est la donnée que nous saisissons dans le champ de saisie. Nous les transmettons à la fonction handleFormChange.
`const handleFormChange = (index, event) => {
}` Mais le problème est que si nous essayons de taper quelque chose dans les champs de saisie, nous ne pourrons pas le faire. Parce que nous n’avons pas défini les états dans l’état formFields. Donc, faisons-le.
const handleFormChange = (index, event) => { let data = [...inputFields] ; }
Stockons l’état de nos champs de saisiedans une variable appelée dataen utilisant l’opérateur d’étalement (les trois points ... ).
Ensuite, nous allons cibler l’index de la variable data en utilisant le paramètre index, et le nom de la propriété, également.
const handleFormChange = (index, event) => { let data = [...inputFields] ; data[index][event.target.name] = event.target.value ; }
Par exemple, supposons que nous tapions dans le champ de saisie avec l’index 0. Donc, nous spécifions l’index dans les données, et le nom de la propriété, en utilisant **event.target.name.**Et dans cet index de données, nous stockons les valeurs des champs de saisie en utilisant event.target.value.
Maintenant, nous devons stocker ces données à nouveau dans le tableau inputFieldsen utilisant la méthode setInputFields.
const handleFormChange = (index, event) => { let data = [...inputFields] ; data[index][event.target.name] = event.target.value ; setInputFields(data) ; }
Maintenant, si nous tapons quelque chose dans les champs de saisie, cela s’affichera dans les champs de saisie.

Comment ajouter d’autres champs de formulaire
Créons un bouton pour ajouter d’autres champs de formulaire.
Ajouter plus..
Et une fonction, aussi, qui sera déclenchée lorsque ce bouton est cliqué.
`const addFields = () => {
}` Ajoutons la fonction au bouton via un événement onClick.
Ajouter plus..
Maintenant, dans la fonction addFields, nous devons créer un objet. Et chaque fois que nous cliquerons sur le bouton, il sera poussé vers l’état inputFields, créant ainsi un nouveau champ de saisie.
const addFields = () => { let newfield = {nom : '', age : '' } }
Ensuite, définissez ce nouveau champ dans l’état inputFields.
`const addFields = () => { let newfield = { name : ”, age : ” }
setInputFields([...inputFields, newfield])
}` Ici, nous définissons également les champs d’entréeexistants à l’aide de l’opérateur d’étalement, conjointement avec le nouveau champ.
Si nous cliquons maintenant sur le bouton Add Field, un nouveau champ de saisie sera créé.

Créons un bouton de soumission et une fonction pour voir nos données lorsque nous soumettons le formulaire.
Soumettre
Nous avons également besoin d’une fonction qui sera déclenchée lorsque nous cliquerons sur ce bouton. Elle enregistrera les données dans la console, à partir des champs de saisie. Elle possède également une méthode appelée **e.preventDefault()**qui empêchera le rafraîchissement de la page.
const submit = (e) => { e.preventDefault() ; console.log(inputFields) }
Ajoutez cette fonction au bouton Submit :
Submit
Et aussi dans la balise du formulaire :
Si nous soumettons, nous verrons nos données dans la console :

Créons maintenant un bouton pour supprimer ces champs si nous ne les voulons pas.
{inputFields.map((input, index) => { return (
handleFormChange(index, event)} /> handleFormChange(index, event)} /> – handleFormChange(index, event)} /> Supprimer
) })}
Nous avons également besoin d’une fonction.
`const removeFields = () => {
}` Donc, attribuez cette fonction au bouton Supprimer.
removeFields(index)}>Supprimer
Nous passons l’index comme paramètre, qui est l’index des champs de saisie.
Ensuite, recevez cet index dans la fonction.
`const removeFields = (index) => {
}` Et comme précédemment, nous devons créer une nouvelle variable et stocker l’état inputFieldsdans cette nouvelle variable.
const removeFields = (index) => { let data = [...inputFields] ; }
Ensuite, nous devons diviser cette variable de données par l’index. Puis nous devons la stocker dans l’état inputFieldsen utilisant setInputFields.
const removeFields = (index) => { let data = [...inputFields] ; data.splice(index, 1) setInputFields(données) }
Maintenant, si nous cliquons sur remove, cela supprimera ce champ de formulaire.



Maintenant vous savez comment créer des formulaires dynamiques dans React. Félicitations !
Essayez le code ici – https://github.com/nishant-666/Dynamic-Forms.
Vous pouvez également regarder ma vidéo sur le même sujet Dynamic Forms – How to Add Dynamic Forms in React.
FAQ
Comment ajouter des champs de formulaire en React ?
Pour ajouter des champs de formulaire en React, vous pouvez utiliser la bibliothèque React Hook Form. Vous pouvez créer des champs de formulaire en utilisant des éléments de formulaire tels que les champs de texte, les cases à cocher et les boutons de soumission.
Comment valider les données de formulaire en React ?
Pour valider les données de formulaire en React, vous pouvez utiliser des bibliothèques telles que Yup ou Joi. Ces bibliothèques offrent une manière simple et efficace de valider les données de formulaire en React.
Quels sont les avantages de l’utilisation de React Hook Form ?
React Hook Form offre plusieurs avantages, notamment la possibilité de gérer les formulaires de manière simple et efficace, la validation des données en temps réel et la gestion des erreurs de manière efficace.
Comment créer un bouton de soumission en React ?
Pour créer un bouton de soumission en React, vous pouvez utiliser l’élément de formulaire button et ajouter un événement onClick pour gérer la soumission du formulaire.
Comment supprimer des champs de formulaire en React ?
Pour supprimer des champs de formulaire en React, vous pouvez utiliser la bibliothèque React Hook Form et supprimer les champs de formulaire en utilisant la méthode remove.
À lire aussi sur le site
Questions fréquentes
Comment réussir créer des formulaires dynamiques en react ?
Dans ce tutoriel, nous allons apprendre à construire des formulaires dynamiques dans React. En utilisant des formulaires dynamiques, nous pouvons ajouter des champs ou les supprimer en fonction de nos
Quel est le matériel nécessaire pour créer des formulaires dynamiques en react ?
Le matériel dépend du contexte précis. Reportez-vous à la section dédiée dans cet article pour la liste détaillée et nos recommandations.
Combien de temps faut-il prévoir pour créer des formulaires dynamiques en react ?
Selon votre niveau et le contexte, comptez généralement entre 30 minutes et plusieurs heures. Les détails de durée sont précisés dans le guide.
Quelles sont les erreurs à éviter ?
Les erreurs les plus fréquentes sont détaillées dans cet article, avec les bonnes pratiques pour les éviter et obtenir un résultat satisfaisant.
À lire aussi
Comment créer un jeu de serpent avec React, Redux et Redux Saga ?
Dans cet article, je vais vous guider dans la création d un jeu de serpent en utilisant une application React. Il s agit d un simple jeu 2d construit à l aide de TypeScript, et nous n aurons pas besoi
Comment créer un tableau de bord personnalisé avec les API de WordPress et React
Lorsque vous gérez des sites Web, tout tourne autour des données : vues, temps de réponse, utilisateurs, taux de rebond, etc. Et, si vous gérez des sites Web, vous avez probablement eu à faire face à
L art du netlinking : comment créer des liens de qualité pour le référencement ?
Le netlinking est le pilier du SEO (Search Engine Optimization). C est une stratégie centrale pour améliorer le positionnement d un site web sur les moteurs de recherche. Cette technique consiste à au
Comment créer un nouveau contexte d empilement avec la propriété Isolation en CSS
Qu est-ce que la propriété d isolation CSS ? En CSS, vous pouvez utiliser la propriété d isolation pour créer un nouveau contexte d empilement. Voici à quoi cela ressemble : .container-for-new-stackin