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


[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

10 найпопулярніших веб-сайтів з іграми, які школа не блокувала у 2022 році

10 найпопулярніших веб-сайтів з іграми, які школа не блокувала у 2022 році

Щоб дізнатися про найкращі ігрові сайти, які не блокуються школами, прочитайте статтю та виберіть найкращий веб-сайт із розблокованими іграми для шкіл, коледжів і робіт

ВИПРАВЛЕНО: принтер у стані помилки [HP, Canon, Epson, Zebra та Brother]

ВИПРАВЛЕНО: принтер у стані помилки [HP, Canon, Epson, Zebra та Brother]

Якщо ви зіткнулися з проблемою стану помилки принтера на ПК з Windows 10 і не знаєте, як із нею впоратися, дотримуйтесь цих рішень, щоб її виправити.

Як створити резервну копію Chromebook (2022)

Як створити резервну копію Chromebook (2022)

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

Як виправити, що програма Xbox не відкривається в Windows 10 [КОРОТКИЙ ПОСІБНИК]

Як виправити, що програма Xbox не відкривається в Windows 10 [КОРОТКИЙ ПОСІБНИК]

Хочете виправити програму Xbox, яка не відкривається в Windows 10, а потім дотримуйтеся виправлень, як-от увімкнути програму Xbox із служб, скинути налаштування програми Xbox, скинути пакет програми Xbox тощо.

Що таке LogiOptions.exe (UNICODE) і чи безпечний процес?

Що таке LogiOptions.exe (UNICODE) і чи безпечний процес?

Якщо у вас клавіатура та миша Logitech, ви побачите, що цей процес виконується. Це не шкідливе програмне забезпечення, але це не важливий виконуваний файл для ОС Windows.

Виправлена ​​помилка оновлення/встановлення Java 1603 у Windows 10

Виправлена ​​помилка оновлення/встановлення Java 1603 у Windows 10

Прочитайте статтю, щоб дізнатися, як виправити помилку Java Update 1603 у Windows 10, спробуйте наведені виправлення одне за одним і легко виправте помилку 1603…