Автор оригинала: Bacancy Technology.
Независимо от того, являетесь ли вы разработчиком или лидер команды IT, вы хотите сохранить вашу основную технологию в актуальном состоянии с последними тенденциями. Если ваша основная технология является JavaScript, вы здесь в нужном месте.
ReactJS предлагает библиотеки форм, чтобы избежать перезаписи утомительного кода, наслаждаясь лучшей системой и мотивировать вас для создания уникального кода.
В этом блоге я рекомендую некоторые из лучших библиотек Form React Form, которые вы должны учиться до начала вашего проекта.
Так что давайте начнем!
1. Реагистрационная крючка
React-Cook – помогает уменьшить боль создания форм с реагированными и оптимизированными для них в Teadercript, что является хорошей вещью. Он используется для разработки неконтролируемых компонентов и избежать повторного рендеринга, вызванного пользовательскими входами.
Монтаж
Установите формы React Club, используя одну команду, а вот это:
$ npm install react-hook-form
Еженедельные загрузки
203,030
Пример
import React from 'react'; import { useForm } from 'react-hook-form'; function App() { const { register, handleSubmit, errors } = useForm(); // initialise the hook const onSubmit = (data) => { console.log(data); }; return (); }
Источник
2. Реагистрационные формальные
React-Foral предлагает форму с контролируемыми и неконтролируемыми компонентами, которые осуждают контроль от состояния DOM и работают с объектами JavaScript.
Монтаж
$ npm install react-formal yup
Еженедельные загрузки
1910
Пример
var yup = require('yup') , Form = require('react-formal') var modelSchema = yup.object({ name: yup.object({ first: yup.string().required('Name is required'), last: yup.string().required('Name is required') }), dateOfBirth: yup.date() .max(new Date(), 'You can be born in the future!') }) // ...in a component render() { return (
Источник
3. formjs.
Formjs стремится работать над HTML и создавать формы с использованием данных JSON Schema и предоставляют элементы, такие как радиопередачи, флажки, выбор ящиков и т. Д.
Монтаж
$ npm install forms
Еженедельные загрузки
1017
Пример
var forms = require('forms'); var fields = forms.fields; var validators = forms.validators; var reg_form = forms.create({ username: fields.string({ required: true }), password: fields.password({ required: validators.required('You definitely want a password') }), confirm: fields.password({ required: validators.required('don\'t you know your own password?'), validators: [validators.matchField('password')] }), email: fields.email() });
Источник
4. Форма Redux
Это набор действий создателей и редукторов, которые позволяют быстро создавать и реализовывать сложные индивидуальные формы и работать с Redux. Это сравнительно просто по сравнению с другими аналогичными инструментами, поэтому он не принимает гибкость.
Монтаж
$ npm install --save redux-form
Еженедельные загрузки
382223
Пример
import React from 'react' import { Field, reduxForm } from 'redux-form' const SimpleForm = (props) => { const { handleSubmit, pristine, reset, submitting } = props return () } export default reduxForm({ form: 'simple' // a unique identifier for this form })(SimpleForm)
Источник
5. Строитель
React-Form-Builder предлагает компоненты важной формы настойчивости с использованием FormHandLermixin и добавляет такие компоненты по умолчанию или переопределению.
Монтаж
$ npm i react-form-builder2
Еженедельные загрузки
406
Пример
var React = require('react'); var ReactDOM = require('react-dom'); var FormHandler = require('react-form-builder').Mixins.Handler; var ExampleFormDef = { type: 'form', components: [ { type: 'text-field', dataKey: 'example', displayName: 'Example' } ] }; var Example = React.createClass({ mixins: [FormHandler], // using props getDefaultProps: function() { return { formDef: ExampleFormDef }; }, onSubmit: function(callback) { console.log("FormData: ", this.state.formData); callback(); }, render: this.renderForm(); }); ReactDOM.render(Example(), document.body);
Источник
Подробнее: [Основные причины использовать REVENTJS в 2020 году (где и когда вы можете использовать REVENTJS для веб-разработки)] (https://www.bacancytechnology.com/blog/top-in-2020
6. TComb-форма
TCOMB-форма реализует модели DOM в JS и проверяют функции для моделей домена TComb. Это делает ваш код проще понять и добавляет дополнительную информацию для форм.
Монтаж
$ npm install tcomb-form
Еженедельные загрузки
2023
Пример
import t from 'tcomb-form' const FormSchema = t.struct({ name: t.String, // a required string age: t.maybe(t.Number), // an optional number rememberMe: t.Boolean // a boolean }) const App = React.createClass({ onSubmit(evt) { evt.preventDefault() const value = this.refs.form.getValue() if (value) { console.log(value) } }, render() { return () } })
Источник
7. Wingspan-формы
Это позволяет генерировать абстракцию для динамических решеток в качестве активной библиотеки формы и включив свои виджеты, используя Cendui, управляемую логикой.
Монтаж
$ npm install wingspan-forms
Еженедельные загрузки
2
Пример
/** @jsx React.DOM */ 'use strict'; var fieldInfos = { firstName: { dataType: 'text', label: 'First Name', name: 'firstName' }, lastName: { dataType: 'text', label: 'Last Name', name: 'lastName' }, gender: { dataType: 'enum', label: 'Gender', name: 'gender', options: { metadata: { idProperty: 'value', nameProperty: 'label'}, dataSource: [{ value: 'male', label: 'Male'}, { value: 'female', label: 'Female'}] } }, age: { dataType: 'number', label: 'Age', name: 'age' }, birthday: { dataType: 'date', label: 'Birthday', name: 'birthday'} }; var MyForm = React.createClass({ getInitialState: function () { return { firstName: '', lastName: '', gender: '', age: null, birthday: null }; }, render: function () { var controls = _.map(fieldInfos, function (fieldInfo) { return (); }.bind(this)); return ( ); }, onFieldChange: function (fieldName, value) { this.setState(_.object([[fieldName, value]])); }, isFieldValid: function (fieldName) { var val = this.state[fieldName]; return val !== null && val !== '' ? [true, ''] : [false, 'This field is required.']; } }); var AutoField = WingspanForms.AutoField; React.renderComponent({controls}{JSON.stringify(this.state, undefined, 2)}, document.body); WingspanForms.ControlCommon.attachFormTooltips($(document.body));
Источник
Обертывание
Вот список различных библиотек, которые вы можете использовать для генерации форм для реагирования, которые напрямую работают с DOM и поддерживают управляемые и неконтролируемые компоненты.
Было бы лучше, если у вас был быстрый заглянуть в функции каждой библиотеки и выбрать тот, который подходит для ваших нужд.
Если вы хотите создать свой предстоящий проект, используя inventjs, я рекомендую вам выбрать лучший Reactjs Development Company Это может помочь вам на протяжении всего вашего проекта.