/react-hook-form

📋 React custom hook for form validation without the hassle

Primary LanguageTypeScriptMIT LicenseMIT

English | 简体中文

React Hook Form Logo - React hook form validation

Tweet  CircleCI Coverage Status npm downloads npm npm

  • Super easy to integrate and create forms
  • Built with performance and DX in mind
  • Follows HTML standard for validation
  • Support browser native validation
  • Tiny size without any dependency
  • Uncontrolled form validation
  • Build forms quickly with the form builder

React Hook Form Logo - React hook form validation

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) }; // callback when validation pass

  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: