Блог
Мысли, туториалы и заметки о разработке
Формы как state manager: фильтры, URL-синхронизация, панели настроек
Форма — это не только «заполни и отправь». Form без onSubmit как state container для фильтров и настроек. Form.Subscribe, Form.UrlSync, useFormRef и useActiveFiltersCount.
22 мая 2026 г.
67% пользователей бросают форму. Как найти, где именно
Один хук useFormAnalytics включает field-level трекинг: focus, blur, ошибки, corrections, abandon и completion rate. 5 готовых адаптеров — данные на ваших серверах.
21 мая 2026 г.
2 года, 50+ компонентов: как мы опенсорсили form-библиотеку
За 2 года от 50-строчного wrapper до 50+ field-компонентов, ZenStack плагина, MCP-сервера и offline-поддержки в 10+ продакшн-приложениях. История опенсорс-релиза.
20 мая 2026 г.
MCP: как научить AI генерировать production-ready формы
MCP-сервер @letar/form-mcp даёт AI полный контекст о 50+ полях, паттернах и директивах — одна строка конфига. 6 инструментов: list_fields, get_field_props, generate_form и другие.
19 мая 2026 г.
i18n в React-формах: русские падежи, RTL и 120 переводов
i18n ключи в Zod .meta() + глобальный z.config({ customError }) дают полную локализацию форм без изменения компонентов. Русские plural forms через ICU Message Format.
18 мая 2026 г.
Offline-first формы: как не потерять данные при обрыве связи
Один проп offline включает сохранение в IndexedDB и автосинхронизацию с retry. Три независимых механизма: persistence, offline и useFormAutosave.
17 мая 2026 г.
От БД до UI за 5 минут: ZenStack → Zod → React-форма
@form.* директивы в schema.zmodel позволяют описать UI-метаданные прямо в модели БД. Pipeline: schema.zmodel → zenstack:generate → Zod-схемы → Form.FromSchema — полный CRUD за 10 минут.
16 мая 2026 г.
FromSchema: генерируем React-форму из одной строки Zod-схемы
Form.FromSchema генерирует полную форму автоматически. Четыре уровня контроля: FromTemplate → FromSchema → AutoFields → Field.* — начинаешь с автогенерации, детализируешь по мере необходимости.
15 мая 2026 г.
Вложенные формы в React: массивы, drag & drop и когда использовать таблицы
Form.Group для вложенных объектов, Form.Group.List для динамических массивов с drag & drop. Когда переключаться на TableEditor вместо Group.List.
14 мая 2026 г.
Мультистеп формы в React: пошаговая валидация, условные шаги и анимации
Form.Steps разбивает длинную форму на шаги с анимацией и прогрессом. Form.When показывает/скрывает поля и целые шаги по условию.
13 мая 2026 г.
50+ готовых полей для React-форм: от String до CreditCard
Обзор всех 50+ field-компонентов по категориям: текстовые, числовые, дата/время, выбор, специальные, опросные, табличные, платёжные и документы РФ.
12 мая 2026 г.
От первой формы до архитектуры: Compound Components, Context и createForm()
Compound Components дают полный контроль над вёрсткой при типобезопасности TypeScript. Разбираем Object.assign, Context API и createForm() с lazy-loading.
11 мая 2026 г.
Zod .meta() — одна схема для валидации, UI и доступности
В классическом подходе одно поле описано в 2-3 местах. Zod v4 .meta() позволяет хранить label, placeholder и helperText прямо в схеме. Результат: 80 строк JSX → 8.
10 мая 2026 г.
Формы в React: 2 поля = 48 строк. Почему в 2026 это всё ещё боль?
Логин-форма на vanilla React — 48 строк, на @letar/forms — 8. Разбираем 9 повторяющихся проблем с формами, которые ни одна из 5 популярных библиотек не решает полностью.
9 мая 2026 г.
@letar/forms за 5 минут
Установка → схема → 5 строк JSX → работающая форма с валидацией, accessibility и TypeScript. Быстрый старт без философии — только код.
8 мая 2026 г.
Диалоги с ИИ
16
Разговоры с нейросетями, оформленные как посты — отдельно от статей