Русский
Открыть в Telegram

Пост React и FormData

13 сентября 2024
З
Заметки про React
Ссылка
нажмите — покажем
React и FormData Для сбора данных формы можно использовать FormData – объект, который предоставляет геттеры и сеттеры для значений формы. Его можно использовать во время сабмита формы: function onSubmit(event: React.FormEvent) { event.preventDefault() const formData = new FormData(event.target) const formValues = { name: formData.get('name') email: formData.get('email) } } Чтобы избавиться от геттеров, можно использовать Object.fromEntries для представления данных в виде объекта: const formValues = Object.fromEntries(formData) console.log(formValues) { name: 'my name', email: '[email protected]' } typeof formValues // { [k: string]: FormDataEntryValue } Если вы работаете с TypeScript, то при использовании FormData могут возникнуть проблемы с типизацией. Эти проблемы можно решить с помощью схемы Zod и парсинга данных: const formValues = Object.fromEntries(formData) // ❌ TYPE: { [k: string]: FormDataEntryValue } const results = myFormSchema.safeParse(formValues) if (results.success) { results.data // ✅ TYPE: { email: string, quantity: number } console.log(results.data.email) // [email protected] console.log(results.data.quantity) // 5 } else { // Обработка ошибки } React 19 способствует использованию FormData и позволяет получать данные формы при сабмите через проп action: function MyForm() { function formAction(formData: FormData) { // Получаем экземпляр formData вместо event } return <form action={formAction}>...</form> } https://reacttraining.com/blog/react-and-form-data
38 · 3.4K ·

Рядом в ленте

ЗЗаметки про React@svg-use для импорта SVG Библиотека @svg-use это набор инструментов и плагинов сборки для использования SVG с помощью механизма <use href>. Автор библиотеки хочЗЗаметки про ReactNamespace для компонентов При организации компонентов в React используется подход, когда компонент разбивается на несколько частей и доступ к каждой части проис
это сообщение
ЗЗаметки про ReactЗамена кода на React на CSS :has псевдокласс Через CSS можно стилизовать дочерние элементы на основании родительского элемента: .content .card { background: #f0ЗЗаметки про ReactTanStack Form Стейт менеджер формы от TanStack. Особенности: 🔴 Headless архитектура 🔴 Гранулированная реактивность 🔴 Поддержка сложных валидаций и обработок оши
ЗЗаметки про ReactЗаметки про React@ru_react_notes · канал · Технологии
3 412подписчиков491постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем