1.1.9 • Published 11 months ago

react-form-management v1.1.9

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

React Form Management

React Form Management is used to handle the state to render only itself, preventing page lagging or freezing and validating user-inputted data. Demo

Features

  • To manage the state to protect the UI lags.
  • validation form (yup)

Installation

npm install react-form-management
yarn add react-form-management

QuickStart

import { FormProvider, Form, useFormManagement } from "react-form-management";
import * as yup from "yup";

const App = () => {
  const { onSubmit, onReset, form, errors, formProvider } = useFormManagement({
    defaultForm: {
      first_name: "",
      last_name: ""
    },
    schema: yup.object().shape({
      first_name: yup.string().required(),
      last_name: yup.string().required()
    })
  });

  const onClickSubmit = ({ form }) => {
    console.log("form", form);
  };

  return (
    <FormProvider formProvider={formProvider}>
      <Form
        name="first_name"
        render={({ formState, errorState }) => {
          return (
            <div>
              <input value={formState.value} onChange={formState.onChange} />
              {errorState.isError && errorState.errorMessage}
            </div>
          );
        }}
      />
      <Form
        name="last_name"
        render={({ formState, errorState }) => {
          return (
            <div>
              <input value={formState.value} onChange={formState.onChange} />
              {errorState.isError && errorState.errorMessage}
            </div>
          );
        }}
      />
      <button onClick={() => onSubmit(onClickSubmit)}>Submit</button>
      <button onClick={() => onReset({})}>Reset</button>
    </FormProvider>
  );
};
export default App;

API useFormManagement

ParameterTypeDescription
formProviderobjectTo send the data to the formProvider.
formobjectYour form value
errors.objectForm errors according to the schema you have declared.
onSubmitfunctionSubmit form
onResetfunctionReset Form
onChangeCustomfunctionthis function use for change other field value
observefunctionlisten value when the value is changed
addItemfunctionthis function use for add new item in the case of an array
removeItemfunctionthis function use for remove item in the case of an array
removeAllItemfunctionthis function use for remove all item in the case of an array

Props useFormManagement

ParameterTypeDescription
defaultFormobjectDefault form value
schemayupSchema for validate form error

Props FormProvider

ParameterTypeDescription
formProviderobjectRequired

Props Form

ParameterTypeDescriptionMethod
namestringRequired Your field name
rendercomponentRequired Your component inputrender={ ({ formState, errorState, observe }) => {} } OR render={ ({ formState: { value, onChange, onChangeCustom }, errorState: { isError, errorMessage }, observe }) => {} }
1.1.1

11 months ago

1.1.0

11 months ago

1.1.9

11 months ago

1.1.8

11 months ago

1.1.7

11 months ago

1.1.6

11 months ago

1.1.5

11 months ago

1.1.4

11 months ago

1.1.3

11 months ago

1.1.2

11 months ago

1.0.12

11 months ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago