Як використовувати 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 . Сподіваюся, ця стаття буде для вас корисною!


Як експортувати нотатки в Apple Notes як PDF на будь-якому пристрої

Як експортувати нотатки в Apple Notes як PDF на будь-якому пристрої

Дізнайтеся, як експортувати нотатки в Apple Notes як PDF на будь-якому пристрої. Це просто та зручно.

Як виправити помилки показу екрана в Google Meet

Як виправити помилки показу екрана в Google Meet

Як виправити помилку показу екрана в Google Meet, що робити, якщо ви не ділитеся екраном у Google Meet? Не хвилюйтеся, у вас є багато способів виправити помилку, пов’язану з неможливістю поділитися екраном

Як створити мобільну точку доступу в Windows 11

Як створити мобільну точку доступу в Windows 11

Дізнайтеся, як легко налаштувати мобільну точку доступу на ПК з Windows 11, щоб підключати мобільні пристрої до Wi-Fi.

Як використовувати диспетчер облікових даних у Windows 11

Як використовувати диспетчер облікових даних у Windows 11

Дізнайтеся, як ефективно використовувати <strong>диспетчер облікових даних</strong> у Windows 11 для керування паролями та обліковими записами.

[ВИПРАВЛЕНО] Помилка 1726: Помилка виклику віддаленої процедури в Windows 10/8.1/8

[ВИПРАВЛЕНО] Помилка 1726: Помилка виклику віддаленої процедури в Windows 10/8.1/8

Якщо ви зіткнулися з помилкою 1726 через помилку віддаленого виклику процедури в команді DISM, спробуйте обійти її, щоб вирішити її та працювати з легкістю.

Як увімкнути просторовий звук у Windows 11? [3 способи]

Як увімкнути просторовий звук у Windows 11? [3 способи]

Дізнайтеся, як увімкнути просторовий звук у Windows 11 за допомогою нашого покрокового посібника. Активуйте 3D-аудіо з легкістю!

[100% вирішено] Як виправити повідомлення «Помилка друку» у Windows 10?

[100% вирішено] Як виправити повідомлення «Помилка друку» у Windows 10?

Отримання повідомлення про помилку друку у вашій системі Windows 10, тоді дотримуйтеся виправлень, наведених у статті, і налаштуйте свій принтер на правильний шлях…

Як записати та відтворити запис Microsoft Teams

Як записати та відтворити запис Microsoft Teams

Ви можете легко повернутися до своїх зустрічей, якщо запишете їх. Ось як записати та відтворити запис Microsoft Teams для наступної зустрічі.

Як скинути програми за замовчуванням на Android

Як скинути програми за замовчуванням на Android

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

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com