home.social

#react_hook_form — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #react_hook_form, aggregated by home.social.

  1. Context-driven Reusable Form Pattern: Масштабируемая архитектура для Create / Edit / Create-from-Source

    Как перестать копировать формы и построить масштабируемую архитектуру В enterprise-приложениях формы множатся быстро: create, edit, import, create-from-lead, duplicate — и вот у вас уже шесть копий одной формы, а внутри условный ад из if (mode === …). О чём статья: Почему mode prop и giant form component не масштабируются; Как разделить форму на четыре слоя: presentation, orchestration, context, data source; Что такое capabilities и почему они лучше условной логики; Как адаптеры отвязывают форму от source entities; Куда прятать submit, валидацию и внешний store; Как тестировать такую архитектуру изолированно. Примеры на React + TypeScript, но подход применим к любому компонентному UI. Для начинающих и тех, кто уже устал от копипасты в enterprise.

    habr.com/ru/articles/1038754/

    #react #mobx #zustand #frontend #typescript #javascript #enterprise_architecture #формы_react #react_hook_form #redux

  2. Context-driven Reusable Form Pattern: Масштабируемая архитектура для Create / Edit / Create-from-Source

    Как перестать копировать формы и построить масштабируемую архитектуру В enterprise-приложениях формы множатся быстро: create, edit, import, create-from-lead, duplicate — и вот у вас уже шесть копий одной формы, а внутри условный ад из if (mode === …). О чём статья: Почему mode prop и giant form component не масштабируются; Как разделить форму на четыре слоя: presentation, orchestration, context, data source; Что такое capabilities и почему они лучше условной логики; Как адаптеры отвязывают форму от source entities; Куда прятать submit, валидацию и внешний store; Как тестировать такую архитектуру изолированно. Примеры на React + TypeScript, но подход применим к любому компонентному UI. Для начинающих и тех, кто уже устал от копипасты в enterprise.

    habr.com/ru/articles/1038754/

    #react #mobx #zustand #frontend #typescript #javascript #enterprise_architecture #формы_react #react_hook_form #redux

  3. Context-driven Reusable Form Pattern: Масштабируемая архитектура для Create / Edit / Create-from-Source

    Как перестать копировать формы и построить масштабируемую архитектуру В enterprise-приложениях формы множатся быстро: create, edit, import, create-from-lead, duplicate — и вот у вас уже шесть копий одной формы, а внутри условный ад из if (mode === …). О чём статья: Почему mode prop и giant form component не масштабируются; Как разделить форму на четыре слоя: presentation, orchestration, context, data source; Что такое capabilities и почему они лучше условной логики; Как адаптеры отвязывают форму от source entities; Куда прятать submit, валидацию и внешний store; Как тестировать такую архитектуру изолированно. Примеры на React + TypeScript, но подход применим к любому компонентному UI. Для начинающих и тех, кто уже устал от копипасты в enterprise.

    habr.com/ru/articles/1038754/

    #react #mobx #zustand #frontend #typescript #javascript #enterprise_architecture #формы_react #react_hook_form #redux

  4. Context-driven Reusable Form Pattern: Масштабируемая архитектура для Create / Edit / Create-from-Source

    Как перестать копировать формы и построить масштабируемую архитектуру В enterprise-приложениях формы множатся быстро: create, edit, import, create-from-lead, duplicate — и вот у вас уже шесть копий одной формы, а внутри условный ад из if (mode === …). О чём статья: Почему mode prop и giant form component не масштабируются; Как разделить форму на четыре слоя: presentation, orchestration, context, data source; Что такое capabilities и почему они лучше условной логики; Как адаптеры отвязывают форму от source entities; Куда прятать submit, валидацию и внешний store; Как тестировать такую архитектуру изолированно. Примеры на React + TypeScript, но подход применим к любому компонентному UI. Для начинающих и тех, кто уже устал от копипасты в enterprise.

    habr.com/ru/articles/1038754/

    #react #mobx #zustand #frontend #typescript #javascript #enterprise_architecture #формы_react #react_hook_form #redux

  5. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  6. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  7. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  8. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  9. Steroids Form — как создать собственный движок форм для React

    Это третья статья из цикла про наш фреймворк Steroids: в ней мы рассказываем о том, как пришли к созданию собственного движка форм для React. Если вы ещё не читали предыдущие материалы, рекомендуем с ними ознакомиться:

    habr.com/ru/companies/kozhinde

    #фронтенд #фронтендфреймворки #фронтендразработка #react #reactjs #вебразработка #opensource #react_hook_form #formik

  10. useActionState: новый герой в мире React

    Привет, React-энтузиаст! Случалось ли тебе писать логику для форм, где нужно не только обработать кучу полей, но и синхронизировать их с асинхронными действиями (запросы, загрузка данных, показ успеха или ошибок)? Если да, то, возможно, ты уже слышал об экспериментальном хуке useFormState в React. Однако на смену ему пришёл более мощный инструмент - useActionState . В статье обсуждается, почему прежний подход ушёл на пенсию, чем хорош новый, и как он может упростить жизнь каждому фронтенд-разработчику.

    habr.com/ru/articles/870216/

    #react #useActionState #JavaScript #Frontend #react_hooks #react_hook_form #вебразработка #асинхронные_операции

  11. [Перевод] Анатомия shadcn/ui

    Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui . Вместо того, чтобы распространяться в виде пакета npm , компоненты shadcn/ui добавляются с помощью интерфейса командной строки (command line interface, CLI), который помещает исходный код компонентов непосредственно в ваш проект. Разработчик библиотеки указывает причину такого решения на официальном сайте shadcn/ui . "Почему код для копирования/вставки, а не библиотека? Идея заключается в том, что вы полностью владеете и контролируете код. Это позволяет вам решать, как именно будут построены и оформлены ваши компоненты. Начните с настроек по умолчанию, а затем кастомизируйте компоненты под свои нужды. Используя пакет npm, можно наткнуться на один недостаток — стиль всегда связан с реализацией. Дизайн компонентов должен быть отделен от их реализации". На самом деле, shadcn/ui — это не просто очередная библиотека компонентов, а технология, позволяющая представить дизайн-систему в виде кода. Цель этой статьи — немного изучить архитектуру и реализацию shadcn/ui . Если вы еще не использовали shadcn/ui , я советую просмотреть ее документацию и немного поэкспериментировать с ней, чтобы извлечь из статьи максимальную пользу.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи_перевод #shadcn/ui #tailwindcss #react_table #react_hook_form #radix_ui #reactjs #reactjs #react #js #css #design_system #дизайнсистема