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!


Instruccions per escoltar música a Google Maps

Instruccions per escoltar música a Google Maps

Instruccions per escoltar música a Google Maps. Actualment, els usuaris poden viatjar i escoltar música mitjançant l'aplicació Google Map a l'iPhone. Avui, WebTech360 us convida

Instruccions per utilitzar LifeBOX - servei demmagatzematge en línia de Viettel

Instruccions per utilitzar LifeBOX - servei demmagatzematge en línia de Viettel

Instruccions per utilitzar LifeBOX: el servei d'emmagatzematge en línia de Viettel, LifeBOX és un servei d'emmagatzematge en línia recentment llançat de Viettel amb moltes funcions superiors

Com actualitzar lestat a Facebook Messenger

Com actualitzar lestat a Facebook Messenger

Com actualitzar l'estat a Facebook Messenger, Facebook Messenger en l'última versió ha proporcionat als usuaris una funció extremadament útil: canviar

Instruccions per al joc de cartes Werewolf Online a lordinador

Instruccions per al joc de cartes Werewolf Online a lordinador

Instruccions per al joc de cartes Werewolf Online a l'ordinador, Instruccions per descarregar, instal·lar i jugar Werewolf Online a l'ordinador mitjançant l'emulador LDPlayer extremadament senzill.

Instruccions per eliminar històries publicades a Instagram

Instruccions per eliminar històries publicades a Instagram

Instruccions per suprimir històries publicades a Instagram. Si vols suprimir una història a Instagram però no saps com? Avui WebTech360

Instruccions per afegir fotos destacades a Facebook

Instruccions per afegir fotos destacades a Facebook

Instruccions per afegir imatges destacades a Facebook Actualment, Facebook ens permet configurar imatges destacades a les nostres pàgines personals. Aquí us convidem

Com solucionar lerror de Windows Quick Assist que no funciona

Com solucionar lerror de Windows Quick Assist que no funciona

Com solucionar l'error de Windows Quick Assist que no funciona, Windows Quick Assist us ajuda a connectar-vos fàcilment a un ordinador remot. Tanmateix, de vegades també genera errors. Però,

Instruccions per activar/desactivar la barreja de cançons a Spotify

Instruccions per activar/desactivar la barreja de cançons a Spotify

Instruccions per activar/desactivar la barreja de cançons a Spotify, per ajudar la gent a canviar ràpidament l'ordre de les cançons a la llista de reproducció de música anterior

Instruccions per gravar àudio en secret a liPhone

Instruccions per gravar àudio en secret a liPhone

Instruccions per a la gravació secreta a l'iPhone, actualment, els usuaris d'iPhone poden gravar en secret tocant la part posterior del telèfon. Avui, WebTech360 us convida

Com utilitzar Mixamo per animar models 3D personalitzats

Com utilitzar Mixamo per animar models 3D personalitzats

Com utilitzar Mixamo per animar models 3D personalitzats Amb Mixamo, podeu importar fàcilment un model 3D i aplicar-hi efectes d'animació. A continuació es mostren les instruccions d'ús