Comment utiliser Formik pour créer des formulaires dans React

Formik facilite la création de formulaires dans React. Voici comment utiliser Formik pour créer des formulaires dans React .

Comment utiliser Formik pour créer des formulaires dans React

Formik et formulaires dans React

Formik est une bibliothèque de gestion de formulaires qui fournit des composants et des hooks qui simplifient le processus de création de formulaires React. Dans cet article, apprenons avec Download.vn comment créer un formulaire d'inscription dans React en utilisant Formik !

Comment utiliser Formik pour créer des formulaires dans React

Créer une application React

Utilisez create-react-app pour créer un nouveau projet React :

npx create-react-app formik-form

Accédez maintenant au dossier formik-form/src et supprimez tous les fichiers sauf App.js . Ensuite, créez un nouveau fichier et nommez-le Register.js . C'est ici que vous ajouterez le formulaire. N'oubliez pas de l'importer dans App.js .

Créer un formulaire dans React

Vous pouvez créer des formulaires dans React avec des composants contrôlés ou non.

  • Les données de formulaire générées à partir du composant de contrôle seront gérées par React.
  • Les données de formulaire générées à partir d'éléments non contrôlés sont gérées par le DOM.

React vous encourage à utiliser des composants contrôlés. Ils vous permettent de suivre les données du formulaire localement, vous avez donc un contrôle total sur le formulaire.

Vous trouverez ci-dessous un exemple de formulaire créé avec un composant contrôlé :

import { useState } from "react";
const Register = () => {
 const [email, setemail] = useState("");
 const [password, setpassword] = useState("");
 const handleSubmit = (event) => {
 event.preventDefault();
 console.log(email);
 };
 const handleEmail = (event) => {
 setemail(event.target.value);
 };
 const handlePassword = (event) => {
 setpassword(event.target.value);
 };
 return (
 

); }; export default Register;

Dans le code ci-dessus, vous initialisez l'état et créez une fonction de gestionnaire pour chaque champ de saisie. Bien que cela fonctionne, votre code peut devenir répétitif et compliqué, surtout s'il existe de nombreux champs de saisie. L'ajout de la validation et de la gestion des messages d'erreur constitue un autre défi.

Formik peut réduire la condition ci-dessus. Cela facilite la gestion des états, la validation et la saisie des données.

Ajouter Formik à React

Avant d'utiliser formik , ajoutez-le à votre projet en utilisant npm.

npm install formik

Pour intégrer Formik, vous utiliserez le hook useFormik. Dans Register.js, saisissez useFormik en haut du fichier :

import { useFormik } from "formik"

La première étape consiste à configurer les valeurs du formulaire. Dans ce cas, vous initialiserez votre email et votre mot de passe.

const formik = useFormik({
 initialValues: {
 email: "",
 password: "",
 },
 onSubmit: values => {
// handle form submission
 },
});

Vous devez également ajouter une fonction onSubmit, qui obtient les valeurs et gère la soumission du formulaire. Pour un formulaire d'inscription, cette action crée un nouvel utilisateur dans la base de données.

L'étape suivante consiste à utiliser l'objet formik pour obtenir les valeurs du formulaire dans et hors de l'état.

 

Dans le code ci-dessus, vous êtes :

  • Fournissez des champs de saisie avec des valeurs d'identifiant et de nom équivalentes aux valeurs utilisées lors de l'initialisation à l'aide du hook useFormik .
  • Accédez à la valeur d'un champ, en utilisant son nom pour l'extraire de formik.values ​​​​​​.
  • Liez formik.handleChange à l' événement onChange pour afficher les valeurs d'entrée en tant que types d'utilisateurs.
  • Utilisez formik.handleBlur pour garder une trace des champs visités.
  • Liez formik.handleSubmit à l' événement onSubmit pour déclencher la fonction onSubmit que vous avez ajoutée au hook useFormik .

Activer l'authentification par formulaire

Lors de la création d'un formulaire, la validation des entrées est importante car elle garantit que l'authentification de l'utilisateur est facile et que les données sont enregistrées dans le format correct. Par exemple, vous pouvez vérifier la validité de l'email, le mot de passe comporte tous les caractères nécessaires...

Pour valider le formulaire dans cet exemple, sélectionnez la fonction appropriée, acceptez les valeurs du formulaire et renvoyez un objet d'erreur.

Si vous ajoutez une fonction de validation à useFormik , toutes les erreurs de validation trouvées seront dans Formik.errors , indexées sur le nom du champ de saisie. Par exemple, vous pouvez afficher les erreurs concernant les champs de courrier électronique à l'aide de Formik.errors.email .

Dans Register.js , créez une fonction de validation et incluez-la dans useFormik .

const formik = useFormik({
 initialValues: {
 email: "",
 password: "",
 },
 validate: () => {
 const errors = {};
 console.log(errors)
 if (!formik.values.email) {
 errors.email = "Required";
 } else if (
 !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(formik.values.email)
 ) {
 errors.email = "Invalid email address";
 }
 if (!formik.values.password) {
 errors.password = "Required";
 } else if (formik.values.password.length < 8)="" {="" errors.password="Must be 8 characters or more" ;="" }="" return="" errors;="" },="" onsubmit:="" (values)=""> {
 console.log("submitted!");
 // handle submission
 },
});

Ajouter la gestion des erreurs

Ensuite, affichez les messages d'erreur le cas échéant. Utilisez Formik.touched pour vérifier si ce champ a été visité ou non. Cela évite d'afficher une erreur dans le champ auquel l'utilisateur n'a pas encore accédé.

 

{formik.touched.email && formik.errors.email ?

{formik.errors.email}

: null} {formik.touched.password && formik.errors.password ?

{formik.errors.password}

: null}

Valider les données en utilisant Yup

Formik fournit un moyen plus simple de valider les formulaires à l'aide de la bibliothèque Yup. Installez Yup pour commencer :

npm install yup

Entrez oui dans Register.js .

import * as Yup from "yup"

Au lieu d'écrire votre propre fonction d'authentification, utiliser Yup pour vérifier la validité des emails et des mots de passe sera plus rapide.

const formik = useFormik({
 initialValues: {
 email: "",
 password: "",
 },
 validationSchema: Yup.object().shape({
 email: Yup.string()
 .email("Invalid email address")
 .required("Required"),
 password: Yup.string()
 .min(8, "Must be 8 characters or more")
 .required("Required")
 }),
 onSubmit: (values) => {
 console.log("submitted!");
// handle submission
 },
});

C'est fait! Vous avez créé un formulaire d'inscription simple en utilisant Formik et Yup .

Ci-dessus se trouve le moyen le plus simple d'utiliser Formik pour créer des formulaires dans React . J'espère que cet article vous sera utile !

Sign up and earn $1000 a day ⋙

Comment réparer la musique des histoires Instagram qui ne fonctionne pas

Comment réparer la musique des histoires Instagram qui ne fonctionne pas

Les utilisateurs d'Instagram peuvent personnaliser leurs histoires de plusieurs manières. Un moyen idéal consiste à ajouter une musique de fond à une histoire Instagram pour la rendre plus intéressante.

Comment trouver une chanson en fredonnant

Comment trouver une chanson en fredonnant

Vous voulez trouver une chanson en fredonnant ou en chantant sa mélodie via votre iPhone ou Android ? Suivez ce guide pour savoir comment.

Comment rejoindre les scouts dans les Sims 4

Comment rejoindre les scouts dans les Sims 4

Avez-vous un enfant Sim qui a envie d'aventures en plein air au-delà des murs de sa maison ? Lorsque votre Sim bien-aimé rejoint les Scouts, il peut avoir

Comment colorer les signes dans Minecraft

Comment colorer les signes dans Minecraft

Minecraft, le jeu bac à sable bien-aimé qui a conquis le cœur des joueurs du monde entier, offre un monde sans limites de créativité et d'exploration. L'un des

Comment retirer la façade de la sonnette Ring

Comment retirer la façade de la sonnette Ring

Les appareils Ring Doorbell deviennent progressivement de plus en plus populaires. Ce sont d'excellents ajouts à tout foyer, car ils améliorent considérablement la sécurité,

CapCut : Comment obtenir le modèle « Pourquoi maimeriez-vous »

CapCut : Comment obtenir le modèle « Pourquoi maimeriez-vous »

Découvrez comment utiliser le modèle CapCut Why Should U Like Me pour faire ressortir vos vidéos et attirer plus de vues.

Comment contrôler le volume sur votre Amazon Fire Stick

Comment contrôler le volume sur votre Amazon Fire Stick

Essayer de gérer les télécommandes en 2024, c'est comme essayer de gérer les factures. Heureusement, si vous utilisez un Fire Stick pour diffuser vos émissions préférées et

Comment lier les médias sociaux dans Squarespace

Comment lier les médias sociaux dans Squarespace

Un bon site Web créé avec Squarespace peut améliorer considérablement votre présence en ligne et attirer plus de visiteurs vers votre entreprise. Mais il existe un moyen de

Comment masquer les alertes IMessage

Comment masquer les alertes IMessage

Avez-vous déjà été au travail ou à l'école et avez-vous reçu une notification iMessage que vous ne vouliez pas que quelqu'un d'autre voie ? Heureusement, il existe des moyens d'arrêter

Comment se glisser dans les DM

Comment se glisser dans les DM

Même si autrefois cela était lié à la poursuite d'une personne qui vous attire, « se glisser dans les DM » est désormais un terme plus large pour contacter quelqu'un via les réseaux sociaux.

Comment changer de navire dans Starfield

Comment changer de navire dans Starfield

Si votre vaisseau actuel ne suffit pas lorsque vous parcourez l'univers Starfield, il est temps de passer à un vaisseau qui fera l'affaire. Cependant, Starfield est

Comment construire un navire à partir de zéro dans Starfield

Comment construire un navire à partir de zéro dans Starfield

Votre vaisseau est un élément central de votre expérience Starfield. Vous y vivrez, y combattrez et y explorerez. Le jeu vous permet de le mettre à niveau au fur et à mesure

Comment supprimer larrière-plan dune photo dans PhotoPea

Comment supprimer larrière-plan dune photo dans PhotoPea

Photopea est un éditeur de photos et de graphiques en ligne qui permet aux utilisateurs de modifier leurs images sans avoir besoin d'abonnements coûteux à des applications. Cela peut fonctionner comme un

Comment supprimer toutes les photos de votre iPhone (sans les perdre définitivement)

Comment supprimer toutes les photos de votre iPhone (sans les perdre définitivement)

Étant donné que les téléphones Apple ne sont dotés que d’une quantité définie de stockage interne qui ne peut pas être étendue, vous risquez de manquer rapidement d’espace. À un moment donné, vous pourrez

Comment ajouter des puces dans Google Sheets

Comment ajouter des puces dans Google Sheets

Lorsque vous faites des listes, les puces peuvent s'avérer utiles. Ils séparent soigneusement tout et vous permettent d'organiser les informations. Vous pouvez insérer une puce

Comment fabriquer une scierie à Terraria

Comment fabriquer une scierie à Terraria

Avez-vous cherché des moyens d’embellir votre maison à Terraria ? L'acquisition d'une scierie est l'un des moyens les plus pratiques pour meubler votre maison dans ce pays.

Comment exporter vers MP3 dans Garageband

Comment exporter vers MP3 dans Garageband

Découvrez comment exporter de Garageband vers MP3 sur votre Mac, iPhone ou iPad, y compris dans une région spécifique, dans ce guide.

Comment ajouter des blocs dans Super Mario Bros Wonder

Comment ajouter des blocs dans Super Mario Bros Wonder

Les blocs font partie intégrante de la franchise Super Mario Bros. depuis ses débuts. Ils cachent souvent des pièces et des bonus à l'intérieur ou vous aident à naviguer dans chaque niveau.

Comment mettre à jour les applications sur Hisense TV

Comment mettre à jour les applications sur Hisense TV

Hisense est une marque de plus en plus populaire en matière de technologie Smart TV. Ils fabriquent des unités LED et ULED (Ultra LED) économiques qui

Comment changer le nom dun thème WordPress

Comment changer le nom dun thème WordPress

Découvrez comment changer facilement le nom de votre thème WordPress et personnaliser votre site Web en fonction de votre marque