JSPM

react-hook-form

3.23.14
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12176464
  • Score
    100M100P100Q209501F
  • License MIT

Performant, flexible and extensible forms library for React Hooks

Package Exports

  • react-hook-form
  • react-hook-form/dist/react-hook-form.ie11

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-hook-form) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Performant, flexible and extensible forms with easy to use for validation.

CircleCI npm downloads npm dep npm Coverage Status

Tweet Join the community on Spectrum

🇦🇺English | 🇨🇳简体中文

Features

  • Built with performance and DX in mind
  • Uncontrolled form validation
  • Tiny size without any dependency
  • Follows HTML standard for validation
  • Compatible with React Native
  • Support Yup schema-based validation
  • Support browser native validation
  • Build forms quickly with the form builder

Install

$ npm install react-hook-form

Quickstart

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 (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input name="firstname" ref={register} /> {/* register an input */}
      
      <input name="lastname" ref={register({ required: true })} />
      {errors.lastname && 'Last name is required.'}
      
      <input name="age" ref={register({ pattern: /\d+/ })} />
      {errors.age && 'Please enter number for age.'}
      
      <input type="submit" />
    </form>
  );
}

Contributors

Thanks goes to these wonderful people. [Become a contributor].

Backers

Thank goes to all our backers! [Become a backer]