Comments 9
Так а где удобство? С вашим подходом большое количество разных полей не сильно удобнее будет делать. Что мешает делить на группы инпутов, связанных между собой какой-либо логикой?
имхо, если в проекте реально много разных форм, то стоит посмотреть в сторону конфига. Довольно кастомизируемое решение
В статье описана база по созданию компонентов полей. Далее с ней можно работать как удобно. Если у вас много простых форм из 3-7 полей, нет взаимной валидации или динамики, то конфиги подходят. Если что-то сложнее, то конфиги слишком сильно усложняются. Плюс конфиги сложно расширять, так как от заказчика часто приходят новые требования, которые проблемно вписать в логику конфига.
Имею дело с формами на реакте, использую компоненты antd, думаю в любой другой ui библиотеке есть удобная работа с формами из коробки.
Городить свои костыли в таком унылом деле как формошлёпство желания конечно никакого.
А так красота, initialValues, onFinish, валидация... все удобно. А переопределить стили можно и с помощью css modules
Antd - отличная библиотека, которая справиться со многими задачами по созданию форм. Мы пытались внедрять различные библиотеки, но каждый раз упирались в их ограничения по UI/UX, так как переиспользуем формы между разными проектами, где дизайн и логика работы могут сильно отличаться. Что бы решить эту проблему, нам нужен полный контроль над формой. Именно это и привело нас к созданию собственного решения.
Подход имеет смысл когда необходимо реализовать уникальный дизайн системы по макетами с нуля.
P.S.: <input type="submit" />
желательно вынести так же в отдельный компонент.
Поздравляю, вы изобрели ui kit :)
С формами всегда нужно городить свое решение, потому что все современные библиотеки хранят состояние формы на уровне компонента! Что приводит к тому, что почти любое дизайн решение (например под формой выводим что-то зависящее от значений формы, но не относится к форме) очень сильно увеличивает сложность! На мой взгляд, форма всегда должна быть завязана на стейт менеджере, если такой есть на проекте.. а так как таких библиотек нет, то приходится реализовывать свое
Где проще дак это в $mol
Структура против хаоса — элегантное решение для создания форм в React.js