Рубрики
Без рубрики

Мой опыт работы на самых популярных 7 древних библиотек React Form

В этом блоге я рекомендую некоторые из лучших библиотек Form React Form, которые вы должны учиться до начала вашего проекта.

Автор оригинала: 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 (
    
{/* register an input */} {errors.lastname && 'Last name is required.'} {errors.age && 'Please enter number for age.'}
); }

Источник

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 (
        
this.setState({ model })} >
Personal Details
Submit
) }

Источник

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. Это делает ваш код проще понять и добавляет дополнительную информацию для форм.

0_RQYPTGV_4GDDPGF3.PNG

Монтаж

$ 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, управляемую логикой.

0_w4zi45yyrp0vxsvq.png.

Монтаж

$ 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 (
            
{controls}
{JSON.stringify(this.state, undefined, 2)}
); }, 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(, document.body); WingspanForms.ControlCommon.attachFormTooltips($(document.body));

Источник

Обертывание

Вот список различных библиотек, которые вы можете использовать для генерации форм для реагирования, которые напрямую работают с DOM и поддерживают управляемые и неконтролируемые компоненты.

Было бы лучше, если у вас был быстрый заглянуть в функции каждой библиотеки и выбрать тот, который подходит для ваших нужд.

Если вы хотите создать свой предстоящий проект, используя inventjs, я рекомендую вам выбрать лучший Reactjs Development Company Это может помочь вам на протяжении всего вашего проекта.