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

Пост TanStack Form

20 сентября 2024
З
Заметки про React
Ссылка
нажмите — покажем
TanStack Form Стейт менеджер формы от TanStack. Особенности: 🔴 Headless архитектура 🔴 Гранулированная реактивность 🔴 Поддержка сложных валидаций и обработок ошибок на уровне формы, поля 🔴 Поддержка через адаптеры для валидаций Zod, Yup, Valibot 🔴 Небольшой размер (5.2кБ gzip) 🔴 Поддержка вложенных объектов и массивов Пример: import { useForm } from '@tanstack/react-form'; export default function App() { const form = useForm({ defaultValues: { firstName: '', }, onSubmit: async ({ value }) => { // Do something with form data console.log(value); }, }); return ( <div> <h1>Simple Form Example</h1> <form onSubmit={(e) => { e.preventDefault(); e.stopPropagation(); form.handleSubmit(); }} > <div> <form.Field name="firstName" validators={{ onChangeAsyncDebounceMs: 500, onChangeAsync: async ({ value }) => { await new Promise((resolve) => setTimeout(resolve, 1000)); return ( value.includes('error') && 'No "error" allowed in first name' ); }, }} children={(field) => { return ( <> <label htmlFor={field.name}>First Name:</label> <input id={field.name} name={field.name} value={field.state.value} onBlur={field.handleBlur} onChange={(e) => field.handleChange(e.target.value)} /> </> ); }} /> </div> <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]} children={([canSubmit, isSubmitting]) => ( <button type="submit" disabled={!canSubmit}> {isSubmitting ? '...' : 'Submit'} </button> )} /> </form> </div> ); } https://tanstack.com/form/latest/docs/overview
44 · 3.1K ·

Рядом в ленте

ЗЗаметки про ReactReact и FormData Для сбора данных формы можно использовать FormData – объект, который предоставляет геттеры и сеттеры для значений формы. Его можно использоватьЗЗаметки про ReactЗамена кода на React на CSS :has псевдокласс Через CSS можно стилизовать дочерние элементы на основании родительского элемента: .content .card { background: #f0
это сообщение
ЗЗаметки про ReactЧистый код React с TypeScript В своей статье Робин Везер объясняет, как правильно типизировать компоненты React, использовать встроенные типы React, обрабатыватЗЗаметки про ReactКомпозиция компонентов в React В своем блоге Доминик Дорфмайстер поделился, почему стоит предпочитать композицию компонентов и ранний возврат, а не условный рен
ЗЗаметки про ReactЗаметки про React@ru_react_notes · канал · Технологии
3 412подписчиков491постов в индексе
Лента площадки Открыть в Telegram

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

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