С какими библиотеками работал для написания форм

Ответ

React Hook Form – удобная библиотека для управления формами с минимальными ререндерами. Поддерживает валидацию через Zod/Yup.
Пример:

const { register, handleSubmit } = useForm();
<form onSubmit={handleSubmit(data => console.log(data))}>
  <input {...register("name")} />
</form>

Formik – популярное решение с готовыми компонентами и валидацией. Чуть более многословен, но удобен для сложных форм.

Yup – часто использую совместно с Formik/Hook Form для схем валидации.

Для UI-библиотерй:

  • Material-UI/Ant Design – встроенные компоненты форм
  • Final Form – альтернатива Formik с emphasis на performance

Также работал с нативными HTML5 формами + кастомными валидациями.

Ответ 18+ 🔞

Да ты послушай, что за цирк с формами в Реакте творится, блядь! Ну просто ёперный театр, сколько всего напридумывали. Слушай сюда, разберём по полочкам, а то голова кругом.

Вот есть, например, React Hook Form — это вообще песня, чувак. Библиотека, которая тебя от лишних ререндеров спасёт, как родная мать. Всё минимально, быстро, и валидацию туда же, на Zod или Yup, прикрутить — раз плюнуть. Смотри, как просто:

const { register, handleSubmit } = useForm();
<form onSubmit={handleSubmit(data => console.log(data))}>
  <input {...register("name")} />
</form>

Вот и вся магия, блядь. Никакой лишней возни, в рот меня чих-пых!

А есть ещё Formik — тоже, сука, популярный такой монстр. В нём уже из коробки больше всего: и компоненты готовые, и логика валидации. Ну, он чуть более многословный, это да, зато если форма сложная, как чёртова анкета в военкомате, то он может выручить. Хотя иногда от его многословия терпения ноль, ебать.

И вот Yup — это вообще отдельная история. Эта штука как раз для валидации схем. Её и с Formik скрестить можно, и с тем же Hook Form. Красота, внатуре. Описываешь правила, как бог, и всё летает.

Ну и, конечно, если ты не извращенец и любишь готовые решения, то Material-UI или Ant Design тебе в помощь. Там уже внутри всё припаяно: поля, селекты, валидация — бери и пользуйся, как в магазине. Хотя иногда их кастомизировать — это тот ещё геморрой, блядь.

А Final Form — это типа такая альтернатива Formik, но с упором на производительность. Говорят, шустрый, но я с ним мало работал, честно.

И не забывай, сука, про старые-добрые нативные HTML5 формы! Это же классика, блядь. Иногда проще на них кастомную валидацию навесить, чем подключать целую библиотеку. Особенно если проект маленький, и тащить туда React Hook Form — это как из пушки по воробьям, понимаешь?

Короче, выбор есть, и он, блядь, овердохуищный. Смотри по задаче, чувак.