Jak používat Formik k vytváření formulářů v Reactu

Formik usnadňuje vytváření formulářů v Reactu. Zde je návod, jak používat Formik k vytváření formulářů v Reactu .

Jak používat Formik k vytváření formulářů v Reactu

Formik a formuláře v Reactu

Formik je knihovna pro správu formulářů, která poskytuje komponenty a háčky, které zjednodušují proces vytváření formulářů React. V tomto článku se s Download.vn naučíme , jak vytvořit registrační formulář v Reactu pomocí Formiku !

Jak používat Formik k vytváření formulářů v Reactu

Vytvořte aplikaci React

Použijte create-react-app k vytvoření nového projektu React:

npx create-react-app formik-form

Nyní přejděte do složky formik-form/src a odstraňte všechny soubory kromě App.js . Dále vytvořte nový soubor a pojmenujte jej Register.js . Zde přidáte formulář. Nezapomeňte jej importovat do App.js .

Vytvořte formulář v Reactu

Formuláře v Reactu můžete vytvářet s řízenými komponentami nebo ne.

  • Data formuláře vygenerovaná z ovládací komponenty bude zpracována Reactem.
  • Data formuláře generovaná z neřízených prvků jsou zpracovávána DOM.

React vás vyzývá k používání řízených komponent. Umožňují vám sledovat data formuláře lokálně, takže máte plnou kontrolu nad formulářem.

Níže je uveden příklad formuláře vytvořeného pomocí řízené komponenty:

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;

Ve výše uvedeném kódu inicializujete stav a vytváříte obslužnou funkci pro každé vstupní pole. I když to funguje, váš kód se může opakovat a může být chaotický, zejména pokud existuje mnoho vstupních polí. Další výzvou je přidání ověřování a zpracování chybových zpráv.

Formik může výše uvedený stav snížit. Díky tomu je manipulace se stavy, ověřování a zadávání dat hračkou.

Přidejte Formik do React

Před použitím formiku jej přidejte do projektu pomocí npm.

npm install formik

Pro integraci Formik použijete háček useFormik. V Register.js zadejte useFormik v horní části souboru:

import { useFormik } from "formik"

Prvním krokem je nastavení hodnot formuláře. V tomto případě inicializujete svůj e-mail a heslo.

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

Musíte také přidat funkci onSubmit, která získává hodnoty a zpracovává odeslání formuláře. U registračního formuláře tato akce vytvoří nového uživatele v databázi.

Dalším krokem je použití objektu formik k získání hodnot formuláře ve stavu a mimo něj.

 

Ve výše uvedeném kódu jste:

  • Zadejte vstupní pole s hodnotami id a name ekvivalentní hodnotám použitým při inicializaci pomocí háčku useFormik .
  • Získejte přístup k hodnotě pole pomocí jeho názvu k extrahování z formik.values ​​​​.
  • Navažte formik.handleChange na událost onChange , abyste zobrazili vstupní hodnoty jako typy uživatelů.
  • Použijte formik.handleBlur ke sledování navštívených polí.
  • Spojte formik.handleSubmit s událostí onSubmit , aby se spustila funkce onSubmit, kterou jste přidali do háku useFormik .

Povolit ověřování formulářů

Při vytváření formuláře je důležitá validace vstupu, protože zajišťuje snadné ověření uživatele a uložení dat ve správném formátu. Můžete si například zkontrolovat platnost emailu, heslo má všechny potřebné znaky...

Chcete-li ověřit formulář v tomto příkladu, vyberte příslušnou funkci, přijměte hodnoty formuláře a vraťte chybový objekt.

Pokud do useFormik přidáte ověřovací funkci , všechny nalezené chyby ověření budou ve Formik.errors indexované podle názvu vstupního pole. Chyby v e-mailových polích můžete například zobrazit pomocí Formik.errors.email .

V Register.js vytvořte funkci ověření a zahrňte ji do 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
 },
});

Přidejte zpracování chyb

Dále zobrazte případné chybové zprávy. Pomocí Formik.touched zkontrolujte, zda bylo toto pole navštíveno nebo ne. Tím se zabrání zobrazení chyby v poli, kam uživatel ještě nevstoupil.

 

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

{formik.errors.email}

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

{formik.errors.password}

: null}

Ověřte data pomocí Yup

Formik poskytuje jednodušší způsob ověřování formulářů pomocí knihovny Yup. Chcete-li začít, nainstalujte Yup:

npm install yup

Zadejte yup do Register.js .

import * as Yup from "yup"

Místo psaní vlastní autentizační funkce bude použití Yup ke kontrole platnosti e-mailů a hesel rychlejší.

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

Je to hotovo! Vytvořili jste jednoduchý registrační formulář pomocí Formik a Yup .

Výše je nejjednodušší způsob, jak používat Formik k vytváření formulářů v Reactu . Doufám, že tento článek je pro vás užitečný!

Zanechat komentář

Šablona týdenního úklidového plánu pro hostitele Airbnb (Word a PDF)

Šablona týdenního úklidového plánu pro hostitele Airbnb (Word a PDF)

Použijte tento tisknutelný týdenní úklidový plán pro hostitele Airbnb k organizaci úklidu mezi pobyty, hloubkového čištění, doplňování zásob, kontrol bezpečnosti a tisku z Wordu do PDF.

Šablona kalendáře měsíčních účtů zdarma pro Excel: Praktické nastavení na rok 2026

Šablona kalendáře měsíčních účtů zdarma pro Excel: Praktické nastavení na rok 2026

Uspořádejte měsíční účty v Excelu pomocí bezplatné šablony kalendáře účtů, sledování splatností, vzorců pro stav, polí pro automatické platby a praktických tipů pro cash flow.

Vzorce v Excelu se nepřepočítávají automaticky? Opravte to ve 3 jednoduchých krocích

Vzorce v Excelu se nepřepočítávají automaticky? Opravte to ve 3 jednoduchých krocích

Opravte vzorce v Excelu, které se nepřepočítávají automaticky, ve třech krocích: povolte automatický výpočet, přepočítejte a opravte buňky se vzorci.

Šablona pro sledování výdajů nezávislých dodavatelů pro americké freelancery: Co sledovat v roce 2026

Šablona pro sledování výdajů nezávislých dodavatelů pro americké freelancery: Co sledovat v roce 2026

Vytvořte praktický nástroj pro sledování výdajů pro americké freelancery s kategoriemi vhodnými pro formulář Schedule C, poli pro účtenky, sledováním ujetých kilometrů a aktualizacemi pravidel IRS pro rok 2026.

Nejlepší bezplatné aplikace pro fakturaci pro malé poskytovatele služeb v USA (2026)

Nejlepší bezplatné aplikace pro fakturaci pro malé poskytovatele služeb v USA (2026)

Porovnejte nejlepší bezplatné aplikace pro fakturaci pro poskytovatele služeb v USA v roce 2026, včetně Zoho Invoice, Wave, Square, PayPal a Invoice Ninja.

Šablona Excelu pro sledování výdajů a příjmů z nájemního majetku zdarma: Průvodce pro začátečníky

Šablona Excelu pro sledování výdajů a příjmů z nájemního majetku zdarma: Průvodce pro začátečníky

Použijte bezplatnou šablonu Excelu pro sledování nájemního majetku k organizaci příjmů, výdajů, nemovitostí a měsíčního cash flow. Zjistěte, co zaznamenávat, jak to nastavit a jakým chybám se vyhnout.

Šablona prezentace stavu projektu zdarma pro agilní týmy: Co by měla obsahovat?

Šablona prezentace stavu projektu zdarma pro agilní týmy: Co by měla obsahovat?

Použijte tuto bezplatnou, připravenou k kopírování šablonu prezentace stavu agilního projektu k zobrazení pokroku, rizik, rozhodnutí a dalších kroků, aniž by se aktualizace změnily v šum.

Jak opravit problém „Zvuk při nahrávání obrazovky v PowerPointu nefunguje“

Jak opravit problém „Zvuk při nahrávání obrazovky v PowerPointu nefunguje“

Nahrávání obrazovky v PowerPointu má video, ale žádný zvuk? Zkontrolujte ovládací prvek Zvuk, přístup k mikrofonu ve Windows, nastavení vstupu, kompatibilitu přehrávání, aktualizace a opravu.

Šablona rozvrhu směn zaměstnanců zdarma v Excelu s kalkulátorem hodin

Šablona rozvrhu směn zaměstnanců zdarma v Excelu s kalkulátorem hodin

Vytvořte si zdarma rozvrh směn zaměstnanců v Excelu s automatickým výpočtem hodin, řešením nočních směn, odečítáním přestávek, týdenními součty, příznaky pro plánování přesčasů a tisknutelným pohledem na tým.

Bezplatná šablona faktury pro malé podniky v Excelu s automatickým výpočtem daně z prodeje

Bezplatná šablona faktury pro malé podniky v Excelu s automatickým výpočtem daně z prodeje

Vytvořte bezplatnou šablonu faktury v Excelu, která automaticky vypočítává zdanitelné částky, daň z prodeje a celkové částky. Porovnejte nastavení s jednou sazbou, vyhledávací tabulkou a sazbami po jednotlivých řádcích a zjistěte, kdy Excel již nestačí.