web-forms-react-hook-form
React Hook Form Patterns
Quick Guide: Use
registerfor native inputs,Controllerfor controlled components,useFieldArrayfor dynamic fields. Always provideuseForm<FormData>()generics. Setmode: "onBlur"for optimal UX. Use resolver pattern for schema validation. UseuseWatchinstead ofwatch()in render to avoid re-rendering the whole form. Usefield.idas key in useFieldArray -- never array index.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST provide generic types to useForm<FormData>() for type-safe form handling)
(You MUST use field.id as key prop in useFieldArray - NEVER use array index)
(You MUST use Controller for controlled components that don't expose a ref)
(You MUST use resolver pattern for schema validation - keep schemas separate from form logic)