React Hook Form Documentation
Performant, flexible, and extensible forms with easy-to-use validation.
Documentation Structure
code
contents/ ├── Root files # Getting started, FAQs, TypeScript (4 files) ├── docs/ # Core API hooks (7 files) ├── docs/useform/ # useForm methods (18 files) ├── docs/useformstate/ # useFormState utilities (2 files) ├── docs/usewatch/ # useWatch methods (1 file) └── docs/usecontroller/ # Controller components (1 file)
Topic Guide
| Topic | Key Files |
|---|---|
| Getting Started | contents/get-started.mdx |
| TypeScript Support | contents/ts.mdx |
| Advanced Patterns | contents/advanced-usage.mdx |
| Form Management | contents/docs/useform.mdx, contents/docs/useform/register.mdx |
| Form State | contents/docs/useform/formstate.mdx, contents/docs/useformstate.mdx |
| Form Submission | contents/docs/useform/handlesubmit.mdx |
| Validation | contents/docs/useform/trigger.mdx, contents/docs/useform/seterror.mdx |
| Input Registration | contents/docs/useform/register.mdx, contents/docs/useform/unregister.mdx |
| Controlled Components | contents/docs/usecontroller/controller.mdx, contents/docs/useform/control.mdx |
| Value Management | contents/docs/useform/setvalue.mdx, contents/docs/useform/getvalues.mdx |
| Watching Values | contents/docs/useform/watch.mdx, contents/docs/usewatch.mdx |
| Form Reset | contents/docs/useform/reset.mdx, contents/docs/useform/resetfield.mdx |
| Context API | contents/docs/formprovider.mdx, contents/docs/useformcontext.mdx |
| Accessibility | contents/advanced-usage.mdx (A11y section) |
| FAQ | contents/faqs.mdx |
When to use
Use this skill when the user asks about:
- •Form validation in React
- •React Hook Form API usage
- •Form state management
- •Input registration and validation rules
- •Custom form components
- •TypeScript types for forms
- •Form submission handling
- •Accessibility in forms
- •Performance optimization for forms
How to find information
- •Use Topic Guide above to identify relevant files
- •Read
TOC.mdfor complete file listing by directory - •Read specific files from
contents/{path} - •Start with
get-started.mdxfor basic usage - •Check
faqs.mdxfor common questions