Com utilitzar Formik per crear formularis a React

Formik facilita la creació de formularis a React. A continuació s'explica com utilitzar Formik per crear formularis a React .

Com utilitzar Formik per crear formularis a React

Formik i formes a React

Formik és una biblioteca de gestió de formularis que proporciona components i ganxos que faciliten el procés de creació de formularis React. En aquest article, aprenem amb Download.vn com crear un formulari de registre a React amb Formik !

Com utilitzar Formik per crear formularis a React

Creeu una aplicació React

Utilitzeu create-react-app per crear un nou projecte React:

npx create-react-app formik-form

Ara navegueu a la carpeta formik-form/src i suprimiu tots els fitxers excepte App.js . A continuació, creeu un fitxer nou i anomeneu-lo Register.js . Aquí és on afegireu el formulari. Recordeu importar-lo a App.js.

Creeu un formulari a React

Podeu crear formularis a React amb components controlats o no.

  • Les dades del formulari generades des del component de control seran gestionades per React.
  • Les dades del formulari generades a partir d'elements no controlats són gestionades pel DOM.

React us anima a utilitzar components controlats. Us permeten fer un seguiment local de les dades del formulari, de manera que tingueu un control total sobre el formulari.

A continuació es mostra un exemple de formulari creat amb un component controlat:

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;

Al codi anterior, esteu inicialitzant l'estat i creant una funció de controlador per a cada camp d'entrada. Mentre funciona, el vostre codi pot tornar-se repetitiu i desordenat, sobretot si hi ha molts camps d'entrada. Afegir validació i gestió de missatges d'error és un altre repte.

Formik pot reduir la condició anterior. Fa que el maneig de l'estat, la validació i l'entrada de dades siguin molt fàcils.

Afegeix Formik a React

Abans d'utilitzar formik , afegiu-lo al vostre projecte amb npm.

npm install formik

Per integrar Formik, utilitzareu el ganxo useFormik. A Register.js, introduïu useFormik a la part superior del fitxer:

import { useFormik } from "formik"

El primer pas és configurar els valors del formulari. En aquest cas, inicialitzareu el vostre correu electrònic i contrasenya.

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

També heu d'afegir una funció onSubmit, que obté els valors i gestiona l'enviament del formulari. Per a un formulari de registre, aquesta acció crea un nou usuari a la base de dades.

El següent pas és utilitzar l'objecte formik per obtenir els valors del formulari dins i fora de l'estat.

 

Al codi anterior, sou:

  • Proporcioneu camps d'entrada amb valors d'identificador i de nom equivalents als valors utilitzats durant la inicialització mitjançant el ganxo useFormik .
  • Accediu al valor d'un camp, utilitzant el seu nom per extreure'l de formik.values ​​​​.
  • Enllaceu formik.handleChange a l' esdeveniment onChange per mostrar els valors d'entrada com a tipus d'usuari.
  • Utilitzeu formik.handleBlur per fer un seguiment dels camps visitats.
  • Enllaceu formik.handleSubmit a l' esdeveniment onSubmit per activar la funció onSubmit que heu afegit al ganxo useFormik .

Activa l'autenticació de formularis

Quan es crea un formulari, la validació d'entrada és important perquè garanteix que l'autenticació de l'usuari sigui fàcil i que les dades es desen en el format correcte. Per exemple, podeu comprovar la validesa del correu electrònic, la contrasenya té tots els caràcters necessaris...

Per validar el formulari d'aquest exemple, seleccioneu la funció adequada, accepteu els valors del formulari i retorneu un objecte d'error.

Si afegiu una funció de validació per useFormik , qualsevol error de validació que es trobi es trobarà a Formik.errors , indexat al nom del camp d'entrada. Per exemple, podeu veure errors sobre camps de correu electrònic mitjançant Formik.errors.email .

A Register.js , creeu una funció de validació i incloeu-la a 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
 },
});

Afegeix la gestió d'errors

A continuació, mostreu els missatges d'error si n'hi ha. Utilitzeu Formik.touched per comprovar si aquest camp s'ha visitat o no. D'aquesta manera s'evita mostrar un error en el camp on l'usuari encara no ha accedit.

 

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

{formik.errors.email}

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

{formik.errors.password}

: null}

Valideu les dades amb Yup

Formik proporciona una manera més fàcil de validar formularis mitjançant la biblioteca Yup. Instal·leu Yup per començar:

npm install yup

Introduïu sí a Register.js .

import * as Yup from "yup"

En lloc d'escriure la vostra pròpia funció d'autenticació, fer servir Yup per comprovar la validesa dels correus electrònics i les contrasenyes serà més ràpid.

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

Està fet! Heu creat un formulari de registre senzill mitjançant Formik i Yup .

A dalt hi ha la manera més senzilla d'utilitzar Formik per crear formularis a React . Espero que aquest article us sigui útil!

Deixa un comentari

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Soluciona Outlook quan pots rebre correu però no enviar-lo. Comprova la safata de sortida, el mode sense connexió, l'inici de sessió, la configuració SMTP, els perfils i els canvis de Microsoft 365.

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Creeu un seguiment de nòmines quinzenal senzill a Excel per a un equip petit, amb hores, salaris, deduccions, indicadors de revisió, resums i orientació sobre la gestió de registres.

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Creeu una presentació d'incorporació senzilla per a nous empleats amb una estructura pràctica de 12 diapositives que cobreixi les expectatives del lloc, les eines, la seguretat, les polítiques, la seguretat física i les accions de la primera setmana.

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Exporteu els contactes de Salesforce a Excel de manera neta: creeu l'informe adequat, exporteu només els detalls en CSV, importeu amb Power Query, preserveu els IDs i els zeros inicials, elimineu duplicats de manera segura i verifiqueu el resultat.

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Utilitzeu aquest horari de neteja setmanal imprimible per a amfitrions d'Airbnb per organitzar la neteja de canvi d'hostes, tasques de neteja profunda, reposició, comprovacions de seguretat i impressió de Word a PDF.

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Organitza les factures mensuals a Excel amb un disseny gratuït de calendari de factures, seguiment de dates de venciment, fórmules d'estat, camps de pagament automàtic i consells pràctics de flux de caixa.

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Arregla les fórmules d'Excel que no es calculen automàticament en tres passos: activa el càlcul automàtic, recalcula i repara les cel·les de fórmula.

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Creeu un registre de despeses pràctic per a freelancers als EUA amb categories compatibles amb l'annex C, camps de rebuts, registre de quilometratge i actualitzacions de les normes de l'IRS per al 2026.

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Compareu les millors aplicacions gratuïtes de facturació per a negocis de serveis als EUA el 2026, incloent-hi Zoho Invoice, Wave, Square, PayPal i Invoice Ninja.

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Utilitzeu una plantilla gratuïta d'Excel per al seguiment de propietats en lloguer per organitzar ingressos, despeses, propietats i flux de caixa mensual. Apreneu què registrar, com configurar-la i els errors a evitar.