react-hook-form

Active

react-hook-form / react-hook-form

πŸ“‹ React Hooks for form state management and validation (Web + React Native)

Stars

44.8K

Forks

2.4K

NPM Downloads

-

Bundle (gzip)

-

OtherReact & React NativeMITdxform-builderformsreact-hooksreact-nativereactjstypescriptuxvalidation

Recent Releases

v7.81.0 β€” Version 7.81.0

⚜️ feat: FieldArray component (13394) tsx <FieldArray control={control} name="test" render={({ fields }) => null} /> 🐞 fix 13538 useFieldArray min 1 item validation error changes its

Jul 5, 2026

v7.80.0 β€” Version 7.80.0

πŸ§„ feat: disable useFieldArray fields (13535) tsx const { fields } = useFieldArray({ disabled: true }); fields0.disabled; // contains disabled props πŸ›Ί perf: make rhf more performant (13524) 🐞

Jun 20, 2026

v7.79.0 β€” Version 7.79.0

🚷 feat: use field array disabled (13520) 🐞 fix controller onChange promise (13518) 🐞 fix: track visited pairs in deepEqual to avoid false positives with shared object references (13515) 🐞 fix 1

Jun 13, 2026

v7.78.0 β€” Version 7.78.0

🦷 update type dirtyFields typing for field arrays with undefined entries (13492) 🐞 fix: recover Controller fields after reset without rerender (RN issue 13455) (13497) 🐞 fix useFormState().isDirt

Jun 7, 2026

v7.77.0 β€” Version 7.77.0

πŸ₯‘ feat: add resetDefaultValues API (13427) https://react-hook-form.com/docs/useform/resetdefaultvalues tsx const { resetDefaultValues } = useForm(); resetDefaultValues(currentValues);

May 31, 2026

v7.76.1 β€” Version 7.76.1

🐞 fix: pass options parameter through setValues to enable validation (13457) 🐞 fix(setValues): emit whole-form change without stale name/type (13450) πŸš— perf(setValues): thread skipClone through s

May 23, 2026

v7.76.0 β€” Version v7.76.0

πŸͺ­ close 13141 improve isDirty sync with dirtyFields state (13370) 🐞 fix isValidating reactivity when validatingFields is not subscribed (13440) πŸ›Ί test: fix duplicate-word typos in test descriptio

May 16, 2026

v7.75.0 β€” Version 7.75.0

🦧 feat: improve get dirty fields prune empty fields (13363) diff + dirtyFields: { test: { data: false } } - dirtyFields: {} // removed the empty node with false value 🎹 typescript 6.0 (133

May 2, 2026

v7.74.0 β€” Version 7.74.0

πŸͺ‡ feat: setValues (13201) tsx setValues((data) => { return { ...data, name: 'test' } }) setValues(formValues); 🐞 fix: preserve previous field value when useController na

Apr 25, 2026

v7.73.0 β€” Version 7.73.0

⚑perf: memoize submit (13378) πŸš‰ perf: improve deepEqual performance (13362) πŸ‘€ perf: skip re-render in setValue when value is unchanged (13352) βœ‚οΈ remove unneeded flag check for shouldDirty 🚨 fi

Apr 18, 2026