Sådan bruger du Formik til at oprette formularer i React

Formik gør det nemmere at oprette formularer i React. Sådan bruger du Formik til at oprette formularer i React .

Sådan bruger du Formik til at oprette formularer i React

Formik & formularer i React

Formik er et formularhåndteringsbibliotek, der leverer komponenter og hooks, der gør processen med at skabe React-formularer enklere. Lad os i denne artikel lære med Download.vn , hvordan man opretter en registreringsformular i React ved hjælp af Formik !

Sådan bruger du Formik til at oprette formularer i React

Opret en React-app

Brug create-react-app til at oprette et nyt React-projekt:

npx create-react-app formik-form

Naviger nu til formik-form/src- mappen og slet alle filer undtagen App.js . Opret derefter en ny fil og navngiv den Register.js . Det er her du tilføjer formularen. Husk at importere det til App.js .

Opret en formular i React

Du kan oprette formularer i React med kontrollerede komponenter eller ej.

  • Formulardata genereret fra kontrolkomponenten vil blive håndteret af React.
  • Formulardata genereret fra ukontrollerede elementer håndteres af DOM.

React opfordrer dig til at bruge kontrollerede komponenter. De giver dig mulighed for at spore formulardata lokalt, så du har fuld kontrol over formularen.

Nedenfor er et eksempel på en formular oprettet med en kontrolleret komponent:

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;

I koden ovenfor initialiserer du tilstand og opretter en behandlerfunktion for hvert inputfelt. Mens det virker, kan din kode blive gentagne og rodet, især hvis der er mange inputfelter. Tilføjelse af validering og håndtering af fejlmeddelelser er en anden udfordring.

Formik kan reducere ovenstående tilstand. Det gør tilstandshåndtering, validering og dataindtastning til en leg.

Tilføj Formik til React

Før du bruger formik , skal du tilføje det til dit projekt ved hjælp af npm.

npm install formik

For at integrere Formik skal du bruge useFormik krogen. I Register.js skal du indtaste useFormik øverst i filen:

import { useFormik } from "formik"

Det første trin er at opsætte formularværdierne. I dette tilfælde vil du initialisere din e-mail og adgangskode.

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

Du skal også tilføje en onSubmit-funktion, som henter værdierne og håndterer formularindsendelse. For en registreringsformular opretter denne handling en ny bruger i databasen.

Det næste trin er at bruge formik-objektet til at få formværdierne ind og ud af tilstand.

 

I koden ovenfor er du:

  • Angiv inputfelter med id- og navneværdier svarende til de værdier, der blev brugt under initialisering ved hjælp af useFormik- krogen .
  • Få adgang til værdien af ​​et felt ved at bruge dets navn til at udtrække det fra formik.values .
  • Bind formik.handleChange til onChange- hændelsen for at vise inputværdier som brugertyper.
  • Brug formik.handleBlur til at holde styr på besøgte marker.
  • Bind formik.handleSubmit til onSubmit- hændelsen for at udløse den onSubmit-funktion, du tilføjede til useFormik- hook .

Aktiver formulargodkendelse

Når du opretter en formular, er inputvalidering vigtig, fordi den sikrer, at brugergodkendelse er nem, og at data gemmes i det korrekte format. For eksempel kan du kontrollere gyldigheden af ​​e-mailen, adgangskoden har alle de nødvendige tegn...

For at validere formularen i dette eksempel skal du vælge den relevante funktion, acceptere formularværdierne og returnere et fejlobjekt.

Hvis du tilføjer en valideringsfunktion til useFormik , vil eventuelle fundne valideringsfejl være i Formik.errors , indekseret på inputfeltets navn. For eksempel kan du se fejl om e-mail-felter ved hjælp af Formik.errors.email .

I Register.js skal du oprette en valideringsfunktion og inkludere den i 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
 },
});

Tilføj fejlhåndtering

Vis derefter fejlmeddelelser, hvis nogen. Brug Formik.touched til at kontrollere, om det felt er blevet besøgt eller ej. Dette undgår at vise en fejl i feltet, hvor brugeren endnu ikke har tilgået.

 

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

{formik.errors.email}

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

{formik.errors.password}

: null}

Valider data ved hjælp af Yup

Formik giver en nemmere måde at validere formularer ved hjælp af Yup-biblioteket. Installer Yup for at komme i gang:

npm install yup

Indtast yup i Register.js .

import * as Yup from "yup"

I stedet for at skrive din egen godkendelsesfunktion vil det være hurtigere at bruge Yup til at kontrollere gyldigheden af ​​e-mails og adgangskoder.

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
 },
});

Det er gjort! Du har oprettet en simpel registreringsformular ved hjælp af Formik og Yup .

Ovenfor er den enkleste måde at bruge Formik til at oprette formularer i React . Håber denne artikel er nyttig for dig!

Efterlad en kommentar

PowerPoint-skabelon til årsrapport for nonprofitorganisationer: Gratis downloadmuligheder og tjekliste for slides

PowerPoint-skabelon til årsrapport for nonprofitorganisationer: Gratis downloadmuligheder og tjekliste for slides

Lav en klar årsrapport for nonprofitorganisationer i PowerPoint med en gratis skabelon, praktisk slidestruktur, effektmålinger, økonomiske oplysninger og præsentationstips klar til donorer.

PowerPoint-skabelon til minimalistisk investor-pitch til tech-startups: Hvad skal inkluderes, og hvad skal udelades

PowerPoint-skabelon til minimalistisk investor-pitch til tech-startups: Hvad skal inkluderes, og hvad skal udelades

Byg en pitch deck for investorer i clean tech-startups i PowerPoint med praktisk slidestruktur, evidensorienteret budskaber, tilgængeligt design og færre distraktioner.

Simpel skabelon til opgavedelegeringsmatrix til Word: En praktisk version til små teamledere

Simpel skabelon til opgavedelegeringsmatrix til Word: En praktisk version til små teamledere

Brug denne enkle skabelon til opgavedelegeringsmatrix i Word til at tildele ejere, beslutningsgrænser, deadlines og kontrolpunkter uden at komplicere et lille team for meget.

Simple Daycare Attendance Sheet Template: Printable Sign-In and Sign-Out for Home Childcare

Simple Daycare Attendance Sheet Template: Printable Sign-In and Sign-Out for Home Childcare

Use this simple printable daycare attendance sheet for home childcare, with child names, arrival/departure times, signatures, and compliance tips.

Printbar skabelon til marketingstrategi på én side til lokale virksomheder

Printbar skabelon til marketingstrategi på én side til lokale virksomheder

Brug denne skabelon til en marketingstrategi på én side, der kan udskrives, til at definere din lokale målgruppe, dit tilbud, dine kanaler, dit budget, dine ugentlige handlinger og dine målbare mål.

Sådan forhindrer du Excel i automatisk at ændre tal til datoer

Sådan forhindrer du Excel i automatisk at ændre tal til datoer

Stop Excel i at konvertere værdier som 1/2, 11-53 eller JAN1 til datoer. Lær pålidelige løsninger til indtastning, indsættelse, CSV-import og allerede konverterede celler.

PowerPoint-skabelon til moderne ejendomsannoncer (gratis): Hvad skal inkluderes

PowerPoint-skabelon til moderne ejendomsannoncer (gratis): Hvad skal inkluderes

Lav en elegant PowerPoint-opslagsliste til ejendomme gratis med en praktisk slideplan, foto, branding, tilgængelighed, overholdelse af regler og eksporttips.

Sådan løser du Outlook-fejlen: Kan ikke sende e-mail, men kan modtage

Sådan løser du Outlook-fejlen: Kan ikke sende e-mail, men kan modtage

Løs Outlook-problemer, hvor du kan modtage e-mail, men ikke sende. Tjek Udbakken, offline-tilstand, login, SMTP-indstillinger, profiler og ændringer i Microsoft 365.

Enkel to-ugers løntracker Excel-skabelon til små teams: En praktisk opsætningsguide

Enkel to-ugers løntracker Excel-skabelon til små teams: En praktisk opsætningsguide

Byg en enkel to-ugers løntracker i Excel til et lille team, med timer, løn, fradrag, review-flag, opsummeringer og vejledning i dokumentation.

Udskrivbar tjekliste til eventplanlægning og budgetskabelon til Word: Hvad skal inkluderes, og hvornår skal man bruge Excel i stedet

Udskrivbar tjekliste til eventplanlægning og budgetskabelon til Word: Hvad skal inkluderes, og hvornår skal man bruge Excel i stedet

Byg eller tilpas en printbar tjekliste og budgetskabelon til eventplanlægning i Microsoft Word med praktiske afsnit, afvejninger og tips til Word vs. Excel.