30 open-source projects similar to react-hook-form/react-hook-form, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Hook Form alternative.
react-final-form is a React form state management library that provides a framework for declarative form validation and the orchestration of dynamic input fields. It utilizes a subscription-based state manager to trigger interface updates only for the specific fields that change during user input, which optimizes rendering by limiting unnecessary component re-renders. The library functions as a dynamic input field orchestrator, allowing users to add, remove, or reorder lists of form fields. It manages complex form state through a system that supports conditional field rendering and real-time
TanStack Form is a cross-framework form state management library that provides typed fields, validation, and submission across React, Vue, Angular, Solid, Lit, Svelte, and Preact. It uses a shared form model that adapts to different UI frameworks while preserving the same validation and submission logic, and offers headless form controls that impose no UI markup, letting developers bring their own inputs and design system. The library distinguishes itself through granular state subscription, where components subscribe to narrow slices of form or field state using reactive primitives, so only
Unform is a React form state manager designed to handle the state, validation, and submission of complex user input forms. It utilizes an uncontrolled form API that minimizes re-renders by using references instead of synchronized state to manage form data. The library features a nested data mapper that organizes fields into hierarchical objects and arrays using scoping and dot notation. It also includes a custom input adapter to connect third-party UI components and non-standard inputs to the centralized form state, and a validation engine that checks submitted data against defined schemas to
This project is a declarative framework for building interactive web forms by parsing JSON Schema definitions. It functions as a component-based generator that automatically maps schema constraints to input fields and validation logic, ensuring that data collection remains consistent with defined structures. The library distinguishes itself through a registry-based architecture that allows for extensive customization of the user interface. Developers can override default widgets, field templates, and layout structures to accommodate unique data types or specific design requirements. It suppor
react-hook-form is a React form state management library and cross-platform UI hook used to manage form inputs, validation, and submission state. It functions as an uncontrolled form controller, leveraging uncontrolled components to minimize unnecessary re-renders in web and mobile environments. The library provides schema-based form validation, allowing user input to be verified against predefined rules or external schema libraries to ensure data integrity. It is designed to connect form logic to components across both React and React Native applications. The project covers the integration
redux-form is a library for managing HTML form state and validation within a Redux store using React components. It functions as a state manager that synchronizes input values and interaction metadata to maintain a single source of truth in a global state container. The project provides mechanisms for orchestrating dynamic arrays of input fields that can be added, removed, or reordered in real time. It also includes a system for splitting complex data entry into a sequence of pages to create multi-step form wizards. Additional capabilities cover client-side data validation through synchronou
This project is a reactive state management library designed for handling complex form data and validation logic. It utilizes observable-based patterns to synchronize user interface components with underlying data models, ensuring that form states remain consistent throughout an application. The library provides a structured approach to managing form initialization, field tracking, and lifecycle events. The library distinguishes itself through its support for deeply nested data structures and hierarchical composition, allowing for recursive validation and dynamic updates within complex object
Formily is a schema-driven framework designed for building complex web forms by decoupling business logic and validation rules from the underlying user interface. It utilizes a declarative JSON schema to define form structures, allowing developers to manage data collection and field interactions independently of specific component libraries or frontend frameworks. The system is built upon a reactive observable state engine that synchronizes form data, validation status, and field interactions in real time. By employing a recursive tree traversal and a centralized event bus, the engine manages
Field-form is a library for managing complex form state, validation, and field synchronization within React component trees. It functions as a state management solution that uses a shared provider to distribute form data and validation messages across nested components. The library distinguishes itself through a dynamic field registry that supports the addition, removal, and reordering of form controls. It employs a field-level subscription model to ensure that individual components only re-render when their specific state slices change, and it provides an imperative interface for triggering
Vee-validate is a form validation library and state management tool for Vue applications. It enables the validation of user inputs through declarative rules and tracks form metadata, including submission status and dirty states. The library functions as a wrapper for integrating external schema validation libraries to enforce consistent data shapes. It also serves as an internationalized framework for displaying translated error messages and localized feedback. The project covers broad capability areas including form state management, the handling of complex nested data structures, and the s
Vuelidate is a model-based validation engine and form validation library for Vue.js applications. It functions as a state validator that checks data models and input fields against defined rules to ensure data consistency and correctness. The library provides tools for form state management, allowing developers to track the modified status of fields and extract specific validation errors. It enables control over validation timing, such as deferring the evaluation of rules until a user interaction occurs. The system covers a broad range of client-side data validation capabilities, including r
Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
Formik is a React form management library and state management tool. It serves as a client-side form validator for checking user entries against defined rules and managing associated error messages before submission. The library synchronizes user input values across multiple fields into a single object for retrieval and manipulates the transition of form data from initial entry through validation and final submission. It provides capabilities for tracking complex form state, managing form submissions, and validating user inputs to ensure data integrity.
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Filament is a full-stack framework for building administrative panels and management interfaces within the Laravel ecosystem. It provides a declarative, component-based architecture that allows developers to construct complex, data-driven applications using server-side configuration objects rather than manual HTML. By inspecting database model structures and relationships, the framework automates the generation of CRUD interfaces, forms, and data tables, significantly reducing boilerplate code. The project distinguishes itself through a highly modular and extensible design that supports custo
This library provides a framework for managing form state, validation, and submission logic within applications. It utilizes a centralized state container to track input values and field metadata, ensuring that user interface elements remain synchronized with data through declarative field bindings. The project is distinguished by its cross-platform abstraction layer, which decouples form logic from specific rendering environments. This allows developers to implement consistent validation rules and state management patterns that function identically across both web and mobile applications. T
This project is a declarative state manager and component library for building complex, interactive forms in React applications. It provides a framework for constructing form interfaces by mapping structured data schemas to modular UI components, ensuring that input state and data integrity are handled consistently across an application. The library distinguishes itself through a schema-driven approach that decouples form structure from rendering logic. By utilizing centralized validation middleware and configuration-based styling, it allows developers to enforce business rules and maintain v
Redux-form is a form state management library that synchronizes user input and form metadata with a global Redux store. It acts as a bridge between form input fields and the Redux ecosystem, ensuring predictable state transitions through a centralized state manager. The library utilizes Higher Order Components to connect React applications to the Redux store. This approach offloads state management from local components to a global store, facilitating the orchestration of complex forms with numerous fields. The system maintains consistency through a unidirectional data flow, integrating form
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem
This repository is a collection of learning resources, instructional materials, and practical reference implementations for the React library. It provides code snapshots, application boilerplates, and a repository of examples designed to support a structured curriculum for building React applications. The project offers specific implementation guides and samples for managing application state, mapping routes with shared layouts, and creating validated form systems. It includes versioned code snapshots, completed exercise references, and presentation materials to help users validate their prog
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation
This is a Go struct validation library used to maintain data integrity by enforcing constraints on fields, slices, and maps. It functions as a schema validation tool and data integrity validator, ensuring that complex nested structures adhere to predefined rules. The library utilizes struct tags to configure validation logic at runtime and supports a custom function registry for extending validation rules. It is distinguished by its ability to perform cross-field dependency evaluation, allowing the comparison of values between different fields within the same data structure to ensure logical
Typesafe-i18n is a localization framework for TypeScript applications that provides compile-time validation for translation keys and parameters. By generating type definitions directly from translation files, it ensures that all localized content is strictly typed, preventing runtime errors caused by missing or mismatched data. The project distinguishes itself through its automated workflow, which uses command-line utilities to generate boilerplate code and wrapper functions. It supports complex linguistic requirements, including pluralization, date and number formatting, and conditional mess
Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined shapes and types. It functions as a composable schema builder and a TypeScript schema validator, ensuring that runtime data checks remain synchronized with static type definitions. The library features a data coercion engine that transforms input values or injects default values before the validation process is executed. It enables the creation of complex validation rules by nesting, merging, or omitting properties from existing structures. Its capabilities cover the validatio
This project is a curated educational resource designed to help developers practice frontend web development through a collection of fifty distinct coding challenges. It provides a structured curriculum focused on building functional applications using React and modern static web technologies, offering project briefs and blueprints that guide learners through the implementation of diverse web interfaces. The collection distinguishes itself by emphasizing full-stack prototyping and real-world integration patterns. Rather than focusing on isolated UI elements, the projects require the integrati
This library provides a dynamic engine for Vue that automatically renders interactive web forms from JSON Schema definitions. It functions as a data-driven framework that maps schema constraints to UI components, managing state synchronization and input validation throughout the form lifecycle. The project distinguishes itself through a flexible adapter system that bridges structured data with established design systems, such as Element UI, Ant Design, or Naive UI. It supports complex interface requirements by allowing developers to inject custom logic, event listeners, and specialized templa