react-hook-form alternatives and similar libraries
Based on the "Form Logic" category.
Alternatively, view react-hook-form alternatives based on common mentions on social networks and blogs.
-
formik
Build forms in React, without the tears π [Moved to: https://github.com/jaredpalmer/formik] -
Formily
π±π 𧩠Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3 -
surveyjs
Free Open-Source JavaScript form builder library with integration for React, Angular, Vue, jQuery, and Knockout that lets you load and run multiple web forms, or build your own self-hosted form management system, retaining all sensitive data on your servers. You have total freedom of choice as to the backend, because any server + database combination is fully compatible.
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
Do you think we are missing an alternative of react-hook-form or a related project?
README
Get started | API | Form Builder | FAQs | Examples
Features
- Built with performance, UX and DX in mind
- Embraces native HTML form validation
- Out of the box integration with UI libraries
- Small size and no [dependencies](./package.json)
- Support Yup, Zod, AJV, Superstruct, Joi and others
Install
npm install react-hook-form
Quickstart
import { useForm } from 'react-hook-form';
function App() {
const {
register,
handleSubmit,
formState: { errors },
} = useForm();
return (
<form onSubmit={handleSubmit((data) => console.log(data))}>
<input {...register('firstName')} />
<input {...register('lastName', { required: true })} />
{errors.lastName && <p>Last name is required.</p>}
<input {...register('age', { pattern: /\d+/ })} />
{errors.age && <p>Please enter number for age.</p>}
<input type="submit" />
</form>
);
}
Sponsors
Thanks go to these kind and lovely sponsors!
Backers
Thanks go to all our backers! [Become a backer].
Contributors
Thanks go to these wonderful people! [[Become a contributor](CONTRIBUTING.md)].
*Note that all licence references and agreements mentioned in the react-hook-form README section above
are relevant to that project's source code only.