Kaip naudoti Formik kuriant formas React

„Formik“ palengvina „React“ formų kūrimą. Štai kaip naudoti Formik kuriant formas React .

Kaip naudoti Formik kuriant formas React

Formik & forms React

„Formik“ yra formų valdymo biblioteka, kurioje pateikiami komponentai ir kabliukai, kurie palengvina „React“ formų kūrimo procesą. Šiame straipsnyje su Download.vn sužinokime , kaip sukurti registracijos formą React naudojant Formik !

Kaip naudoti Formik kuriant formas React

Sukurkite programą „React“.

Norėdami sukurti naują „React“ projektą, naudokite „create-react-app“ :

npx create-react-app formik-form

Dabar eikite į aplanką formik-form/src ir ištrinkite visus failus, išskyrus App.js . Tada sukurkite naują failą ir pavadinkite jį Register.js . Čia pridėsite formą. Nepamirškite importuoti jo į App.js .

Sukurkite formą React

„React“ galite kurti formas su kontroliuojamais komponentais arba ne.

  • Iš valdymo komponento sugeneruotus formos duomenis tvarkys „React“.
  • Formos duomenis, sugeneruotus iš nekontroliuojamų elementų, tvarko DOM.

„React“ skatina naudoti kontroliuojamus komponentus. Jie leidžia sekti formos duomenis vietoje, todėl galite visiškai valdyti formą.

Žemiau pateikiamas formos pavyzdys, sukurtas naudojant valdomą 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;

Aukščiau pateiktame kode inicijuojate būseną ir sukuriate kiekvieno įvesties lauko tvarkyklės funkciją. Kol tai veikia, jūsų kodas gali pasikartoti ir pasikartoti, ypač jei yra daug įvesties laukų. Patvirtinimo ir klaidų pranešimų tvarkymo pridėjimas yra dar vienas iššūkis.

Formik gali sumažinti aukščiau nurodytą būklę. Tai palengvina būsenos tvarkymą, patvirtinimą ir duomenų įvedimą.

Pridėkite Formik prie React

Prieš naudodami formik , pridėkite jį prie savo projekto naudodami npm.

npm install formik

Norėdami integruoti „Formik“, naudosite „useFormik“ kabliuką. Registre.js failo viršuje įveskite useFormik:

import { useFormik } from "formik"

Pirmas žingsnis yra formos reikšmių nustatymas. Tokiu atveju inicijuosite savo el. pašto adresą ir slaptažodį.

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

Taip pat turite pridėti funkciją onSubmit, kuri gauna reikšmes ir tvarko formų pateikimą. Registracijos formai šis veiksmas sukuria naują vartotoją duomenų bazėje.

Kitas žingsnis yra naudoti formik objektą, kad gautumėte formos reikšmes į būseną ir iš jos.

 

Aukščiau pateiktame kode jūs esate:

  • Pateikite įvesties laukus su ID ir pavadinimo reikšmėmis , atitinkančiomis reikšmes, naudotas inicijuojant naudojant useFormik kabliuką .
  • Pasiekite lauko reikšmę naudodami jo pavadinimą, kad ištrauktumėte jį iš formik.values ​​​​.
  • Susiekite formik.handleChange su įvykiu onChange , kad įvesties reikšmės būtų rodomos kaip naudotojo tipai.
  • Norėdami sekti aplankytus laukus, naudokite formik.handleBlur .
  • Susiekite formik.handleSubmit su įvykiu onSubmit , kad suaktyvintumėte funkciją onSubmit, kurią įtraukėte į useFormik kabliuką .

Įgalinti formų autentifikavimą

Kuriant formą įvesties patvirtinimas yra svarbus, nes užtikrina paprastą vartotojo autentifikavimą ir duomenys išsaugomi tinkamu formatu. Pavyzdžiui, galite patikrinti el. laiško galiojimą, slaptažodis turi visus reikiamus simbolius...

Norėdami patvirtinti formą šiame pavyzdyje, pasirinkite atitinkamą funkciją, priimkite formos reikšmes ir grąžinkite klaidos objektą.

Jei pridedate patvirtinimo funkciją į useFormik , visos rastos patvirtinimo klaidos bus Formik.errors , indeksuojamos įvesties lauko pavadinime. Pavyzdžiui, el. pašto laukų klaidas galite peržiūrėti naudodami Formik.errors.email .

Registre.js sukurkite patvirtinimo funkciją ir įtraukite ją į 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
 },
});

Pridėti klaidų tvarkymą

Tada parodykite klaidų pranešimus, jei tokių yra. Naudokite Formik.touched, kad patikrintumėte, ar tas laukas buvo aplankytas, ar ne. Taip išvengiama klaidos rodymo lauke, kurio vartotojas dar nepasiekė.

 

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

{formik.errors.email}

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

{formik.errors.password}

: null}

Patvirtinkite duomenis naudodami „Yup“.

Formik suteikia lengvesnį būdą patvirtinti formas naudojant Yup biblioteką. Norėdami pradėti, įdiekite „Yup“:

npm install yup

Registre.js įveskite yup .

import * as Yup from "yup"

Užuot rašę savo autentifikavimo funkciją, naudodami „Yup“ el. laiškų ir slaptažodžių galiojimui patikrinti bus greičiau.

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

Padaryta! Sukūrėte paprastą registracijos formą naudodami Formik ir Yup .

Aukščiau yra paprasčiausias būdas naudoti Formik kuriant formas React . Tikimės, kad šis straipsnis jums bus naudingas!

Palikti komentarą

Kaip išspręsti „Outlook negali siųsti el. laiškų, bet gali juos gauti“ klaidą

Kaip išspręsti „Outlook negali siųsti el. laiškų, bet gali juos gauti“ klaidą

Ištaisykite „Outlook“, kai galite gauti el. laiškus, bet negalite jų siųsti. Patikrinkite išsiuntimo dėžutę, atjungties režimą, prisijungimą, SMTP nustatymus, profilius ir „Microsoft 365“ pakeitimus.

Paprastas dvisavaitinis atlyginimų apskaitos „Excel“ šablonas mažoms komandoms: praktinis diegimo vadovas

Paprastas dvisavaitinis atlyginimų apskaitos „Excel“ šablonas mažoms komandoms: praktinis diegimo vadovas

Sukurkite paprastą dvisavaitinį atlyginimų apskaitos šabloną „Excel“ mažai komandai, įtraukdami darbo valandas, atlyginimus, išskaičiavimus, peržiūros žymes, suvestines ir dokumentų saugojimo gaires.

Paprastas naujų darbuotojų įtraukimo mokymų pristatymo šablonas: 12 skaidrių praktinis planas

Paprastas naujų darbuotojų įtraukimo mokymų pristatymo šablonas: 12 skaidrių praktinis planas

Sukurkite paprastą naujų darbuotojų įtraukimo pristatymą naudodami praktinę 12 skaidrių struktūrą, apimančią pareigų lūkesčius, įrankius, saugumą, politiką, saugą ir pirmosios savaitės veiksmus.

Kaip eksportuoti „Salesforce“ kontaktus į švarų „Excel“ formatą nesugadinant ID ar telefono numerių

Kaip eksportuoti „Salesforce“ kontaktus į švarų „Excel“ formatą nesugadinant ID ar telefono numerių

Švariai eksportuokite „Salesforce“ kontaktus į „Excel“: sukurkite tinkamą ataskaitą, eksportuokite kaip „Details Only CSV“, importuokite naudodami „Power Query“, išsaugokite ID ir pradinus nulius, saugiai pašalinkite dublikatus ir patikrinkite rezultatą.

Spausdinamas savaitinis valymo tvarkaraščio šablonas „Airbnb“ šeimininkams (Word ir PDF)

Spausdinamas savaitinis valymo tvarkaraščio šablonas „Airbnb“ šeimininkams (Word ir PDF)

Naudokite šį spausdinamą savaitinį valymo tvarkaraštį „Airbnb“ šeimininkams, kad organizuotumėte apsikeitimo valymą, giliajį valymą, atsargų papildymą, saugos patikras ir spausdinimą iš Word į PDF.

Nemokamas mėnesinių sąskaitų kalendoriaus organizatoriaus šablonas „Excel“: praktinis 2026 m. nustatymas

Nemokamas mėnesinių sąskaitų kalendoriaus organizatoriaus šablonas „Excel“: praktinis 2026 m. nustatymas

Organizuokite mėnesines sąskaitas „Excel“ naudodami nemokamą sąskaitų kalendoriaus išdėstymą, mokėjimo terminų stebėjimą, būsenos formules, automatinio mokėjimo laukus ir praktinius pinigų srautų patarimus.

Excel formulės neapskaičiuoja automatiškai? Ištaisykite tai per 3 paprastus veiksmus

Excel formulės neapskaičiuoja automatiškai? Ištaisykite tai per 3 paprastus veiksmus

Ištaisykite Excel formules, kurios neapskaičiuoja automatiškai, atlikdami tris veiksmus: įjunkite automatinį skaičiavimą, perskaičiuokite ir sutvarkykite formulių langelius.

Nepriklausomo rangovo išlaidų sekimo šablonas JAV laisvai samdomiems darbuotojams: ką sekti 2026 m.

Nepriklausomo rangovo išlaidų sekimo šablonas JAV laisvai samdomiems darbuotojams: ką sekti 2026 m.

Sukurkite praktišką išlaidų sekimo įrankį JAV laisvai samdomiems darbuotojams su Schedule C kategorijomis, kvitų laukais, nuvažiuotų mylių sekimu ir 2026 m. IRS taisyklių pakeitimais.

Geriausios nemokamos sąskaitų faktūrų programėlės mažoms JAV paslaugų įmonėms (2026 m.)

Geriausios nemokamos sąskaitų faktūrų programėlės mažoms JAV paslaugų įmonėms (2026 m.)

Palyginkite geriausias nemokamas sąskaitų faktūrų programėles JAV paslaugų įmonėms 2026 m., įskaitant „Zoho Invoice“, „Wave“, „Square“, „PayPal“ ir „Invoice Ninja“.

Nemokamas nuosavybės nuomos išlaidų ir pajamų stebėtojo „Excel“ šablonas: pradedančiųjų vadovas

Nemokamas nuosavybės nuomos išlaidų ir pajamų stebėtojo „Excel“ šablonas: pradedančiųjų vadovas

Naudokite nemokamą „Excel“ nuomos nuosavybės stebėtoją pajamoms, išlaidoms, nuosavybei ir mėnesiniam pinigų srautui organizuoti. Sužinokite, ką fiksuoti, kaip tai nustatyti ir kokių klaidų vengti.