Як використовувати Formik для створення форм у React

Formik полегшує створення форм у React. Ось як використовувати Formik для створення форм у React .

Як використовувати Formik для створення форм у React

Formik і форми в React

Formik — це бібліотека для керування формами, яка надає компоненти та хуки, які спрощують процес створення форм React. У цій статті давайте дізнаємося за допомогою Download.vn , як створити реєстраційну форму в React за допомогою Formik !

Як використовувати Formik для створення форм у React

Створіть програму React

Використовуйте create-react-app, щоб створити новий проект React:

npx create-react-app formik-form

Тепер перейдіть до папки formik-form/src і видаліть усі файли, крім App.js. Далі створіть новий файл і назвіть його Register.js . Тут ви додасте форму. Не забудьте імпортувати його в App.js.

Створіть форму в React

Ви можете створювати форми в React з контрольованими компонентами чи ні.

  • Дані форми, згенеровані компонентом керування, оброблятимуться React.
  • Дані форми, створені з неконтрольованих елементів, обробляються DOM.

React заохочує вас використовувати контрольовані компоненти. Вони дозволяють відстежувати дані форми локально, тому ви маєте повний контроль над формою.

Нижче наведено приклад форми, створеної за допомогою керованого компонента:

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;

У коді вище ви ініціалізуєте стан і створюєте функцію обробки для кожного поля введення. Хоча це працює, ваш код може стати повторюваним і безладним, особливо якщо є багато полів введення. Додавання перевірки та обробки повідомлень про помилки є ще одним завданням.

Formik може зменшити вищевказаний стан. Це робить обробку станів, перевірку та введення даних легкими.

Додайте Formik до React

Перш ніж використовувати formik , додайте його до свого проекту за допомогою npm.

npm install formik

Щоб інтегрувати Formik, ви будете використовувати хук useFormik. У Register.js введіть useFormik у верхній частині файлу:

import { useFormik } from "formik"

Першим кроком є ​​налаштування значень форми. У цьому випадку ви ініціалізуєте свою електронну адресу та пароль.

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

Вам також потрібно додати функцію onSubmit, яка отримує значення та обробляє надсилання форми. Для реєстраційної форми ця дія створює нового користувача в базі даних.

Наступним кроком є ​​використання об’єкта formik для отримання значень форми в стані та з нього.

 

У наведеному вище коді ви:

  • Надайте поля вводу зі значеннями id та name , еквівалентними значенням, які використовувалися під час ініціалізації, використовуючи хук useFormik .
  • Отримайте доступ до значення поля, використовуючи його ім’я, щоб отримати його з formik.values ​​​​.
  • Прив’яжіть formik.handleChange до події onChange , щоб відображати вхідні значення як користувач.
  • Використовуйте formik.handleBlur , щоб відстежувати відвідані поля.
  • Прив’яжіть formik.handleSubmit до події onSubmit , щоб запустити функцію onSubmit, яку ви додали до хука useFormik .

Увімкнути автентифікацію форм

Під час створення форми важлива перевірка введених даних, оскільки вона забезпечує легку автентифікацію користувача та збереження даних у правильному форматі. Наприклад, ви можете перевірити дійсність електронної пошти, пароль містить усі необхідні символи...

Щоб перевірити форму в цьому прикладі, виберіть відповідну функцію, прийміть значення форми та поверніть об’єкт помилки.

Якщо ви додаєте функцію перевірки до useFormik , будь-які знайдені помилки перевірки будуть у Formik.errors , проіндексовані за назвою поля введення. Наприклад, ви можете переглянути помилки щодо полів електронної пошти за допомогою Formik.errors.email .

У Register.js створіть функцію перевірки та включіть її в 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
 },
});

Додайте обробку помилок

Далі відобразіть повідомлення про помилки, якщо такі є. Використовуйте Formik.touched , щоб перевірити, відвідувано це поле чи ні. Це дозволяє уникнути відображення помилки в полі, до якого користувач ще не відкрив.

 

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

{formik.errors.email}

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

{formik.errors.password}

: null}

Перевірте дані за допомогою Yup

Formik забезпечує простіший спосіб перевірки форм за допомогою бібліотеки Yup. Встановіть Yup, щоб почати:

npm install yup

Введіть так у Register.js .

import * as Yup from "yup"

Замість написання власної функції автентифікації, використання Yup для перевірки дійсності електронних листів і паролів буде швидшим.

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

Готово! Ви створили просту реєстраційну форму за допомогою Formik і Yup .

Вище наведено найпростіший спосіб використання Formik для створення форм у React . Сподіваюся, ця стаття буде для вас корисною!

Залишити коментар

Як виправити помилку «Outlook не може надсилати електронну пошту, але може отримувати»

Як виправити помилку «Outlook не може надсилати електронну пошту, але може отримувати»

Виправте Outlook, коли ви можете отримувати електронну пошту, але не можете її надсилати. Перевірте папку «Вихідні», офлайн-режим, вхід у систему, налаштування SMTP, профілі та зміни в Microsoft 365.

Простий шаблон Excel для двотижневого обліку заробітної плати для невеликих команд: Практичний посібник з налаштування

Простий шаблон Excel для двотижневого обліку заробітної плати для невеликих команд: Практичний посібник з налаштування

Створіть простий двотижневий трекер заробітної плати в Excel для невеликої команди, включаючи години, виплати, відрахування, прапорці перевірки, зведення та рекомендації щодо ведення записів.

Простий шаблон презентації для онбордингу нових співробітників: практичний план на 12 слайдів

Простий шаблон презентації для онбордингу нових співробітників: практичний план на 12 слайдів

Створіть просту презентацію для адаптації нових працівників із практичною структурою на 12 слайдів, що охоплює очікування щодо ролі, інструменти, безпеку, політики, техніку безпеки та дії першого тижня.

Як експортувати контакти Salesforce у чистий формат Excel, не зіпсувавши ID та номери телефонів

Як експортувати контакти Salesforce у чистий формат Excel, не зіпсувавши ID та номери телефонів

Чистий експорт контактів Salesforce в Excel: створіть правильний звіт, експортуйте лише деталі у CSV, імпортуйте через Power Query, збережіть ID та провідні нулі, безпечно видаліть дублікати та перевірте результат.

Шаблон тижневого графіка прибирання для друку для хостів Airbnb (Word та PDF)

Шаблон тижневого графіка прибирання для друку для хостів Airbnb (Word та PDF)

Використовуйте цей друкований тижневий графік прибирання для хостів Airbnb, щоб організувати прибирання між гостями, глибоке очищення, поповнення запасів, перевірки безпеки та друк із Word у PDF.

Безкоштовний шаблон органайзера місячного календаря рахунків для Excel: практичне налаштування на 2026 рік

Безкоштовний шаблон органайзера місячного календаря рахунків для Excel: практичне налаштування на 2026 рік

Організуйте місячні рахунки в Excel за допомогою безкоштовного макета календаря платежів, відстеження термінів оплати, формул статусу, полів автоплатежів та практичних порад щодо грошового потоку.

Формули Excel не обчислюються автоматично? Виправте це за 3 прості кроки

Формули Excel не обчислюються автоматично? Виправте це за 3 прості кроки

Виправте формули Excel, які не обчислюються автоматично, за три кроки: увімкніть автоматичне обчислення, виконайте перерахунок і виправте комірки з формулами.

Шаблон трекера витрат для незалежних підрядників у США: що відстежувати у 2026 році

Шаблон трекера витрат для незалежних підрядників у США: що відстежувати у 2026 році

Створіть практичний трекер витрат для фрілансерів у США з категоріями для Schedule C, полями для чеків, відстеженням пробігу та оновленнями правил IRS на 2026 рік.

Найкращі безкоштовні додатки для виставлення рахунків для малих сервісних компаній у США (2026)

Найкращі безкоштовні додатки для виставлення рахунків для малих сервісних компаній у США (2026)

Порівняйте найкращі безкоштовні додатки для виставлення рахунків для сервісних компаній у США у 2026 році, включаючи Zoho Invoice, Wave, Square, PayPal та Invoice Ninja.

Безкоштовний шаблон Excel для обліку витрат і доходів від орендної нерухомості: Посібник для початківців

Безкоштовний шаблон Excel для обліку витрат і доходів від орендної нерухомості: Посібник для початківців

Використовуйте безкоштовний трекер орендної нерухомості в Excel для організації доходів, витрат, об’єктів нерухомості та щомісячного грошового потоку. Дізнайтеся, що записувати, як налаштувати шаблон і яких помилок уникати.