formik - Build forms in React, without the tears ๐Ÿ˜ญ

  •        181

By colocating all of the above in one place, Formik will keep things organized--making testing, refactoring, and reasoning about your forms a breeze.I (@jaredpalmer) wrote Formik while building a large internal administrative dashboard with @eonwhite. With around ~30 unique forms, it quickly became obvious that we could benefit by standardizing not just our input components but also the way in which data flowed through our forms.

https://npm.im/formik
https://github.com/jaredpalmer/formik

Dependencies:

lodash.isequal : 4.5.0
prop-types : ^15.5.10
warning : ^3.0.0

Tags
Implementation
License
Platform

   




Related Projects

formous - Simple and elegant form-handling for React - ABANDONWARE

  •    Javascript

Use the code snippet below as an example to help you get started right away. Formous is a higher-order component that you can use to wrap your component in order to supply it with field validation, error notifications, and form submission handling.

revalidation - Higher Order Component for Validating Forms in React

  •    Javascript

Revalidation lets you write your forms as stateless function components, taking care of managing the local form state as well as the validation. Revalidation also works with classes and will support other React-like libraries like Preact or Inferno in the future. Form handling sounds trivial sometimes, but let’s just take a second to think about what is involved in the process. We need to define form fields, we need to validate the fields, we also might need to display errors according to the fact if the input validates, furthermore we need to figure out if the validation is instant or only after clicking on a submit button and so on and so forth.

redux-form - A Higher Order Component using react-redux to keep form state in a Redux store

  •    Javascript

redux-form works with React Redux to enable an html form in React to use Redux to store all of its state. You can play around with redux-form in these sandbox versions of the Examples.

unform - ReactJS form library to create uncontrolled form structures with nested fields, validations and much more!

  •    TypeScript

Unform is a performance focused library that helps you creating beautiful forms in React with the power of uncontrolled components performance and React Hooks. Formik/Redux Form has a really great syntax while it has a really poor support to uncontrolled components and deep nested data structures. With unform it's easy to create forms with complex relationships without losing performance.

hocs - :bento: A collection of Higher-Order Components for React and React Native

  •    Javascript

A collection of Higher-Order Components for React, especially useful with Recompose. A Higher-Order Component is a function that takes a component and returns a new component.


formsy-react - A form input builder and validator for React JS

  •    Javascript

I wrote an article on forms and validation with React JS, Nailing that validation with React JS, the result of that was this extension. The main concept is that forms, inputs and validation is done very differently across developers and projects. This extension to React JS aims to be that "sweet spot" between flexibility and reusability.

Winterfell - Generate complex, validated and extendable JSON-based forms in React.

  •    Javascript

Winterfell allows you to build up complex, multi-page forms with conditional questions, validation and conditional-page switching via a JSON schema, rendered by React. Winterfell was initially made for a project in a sector that required a large, complex form with questions that would result in more questions or different pages when you clicked next. With an easy to write schema and a high level of customisation, comes a great power.

react-formal - Sophisticated HTML form management for React

  •    Javascript

Better form validation and value management for React. Provides minimal wiring while also allowing for complete input flexibility. Built on yup and react-input-message.

react-redux-firebase - Redux bindings for Firebase

  •    Javascript

Redux bindings for Firebase. Includes Higher Order Component (HOC) for use with React. The Material Example is deployed to demo.react-redux-firebase.com.

react-forms - Forms library for React.

  •    Javascript

React Forms library provides a set of tools for React to handle form rendering and validation. You would probably also need a module bundler such as Browserify or Webpack as React Forms is distributed as a set of CommonJS modules.

react-onclickoutside - An onClickOutside wrapper for React components

  •    Javascript

This is a React Higher Order Component (HOC) that you can use with your own React components if you want to have them listen for clicks that occur somewhere in the document, outside of the element itself (for instance, if you need to hide a menu when people click anywhere else on your page). Note that this HOC relies on the .classList property, which is supported by all modern browsers, but not by deprecated and obsolete browsers like IE (noting that Microsoft Edge is not Microsoft Internet Explorer. Edge does not have any problems with the classList property for SVG elements). If your code relies on classList in any way, you want to use a polyfill like dom4.

react-html5video - A customizeable HTML5 Video React component with i18n and a11y.

  •    Javascript

A customizeable HoC (Higher Order Component) for HTML5 Video that allows custom and configurable controls with i18n and a11y. V2 API has changed and is not backwards compatible. You can find the old documentation here.

react-jss - JSS integration for React.

  •    Javascript

React-JSS provides components for JSS as a layer of abstraction. JSS and the default preset are already built in! Try it out in the playground. React-JSS wraps your component with a higher-order component. It injects a classes prop, which is a simple map of rule names and generated class names. It can act both as a simple wrapping function and as an ES7 decorator.

formsy-react-components - A set of React JS components for use in a formsy-react form

  •    Javascript

formsy-react-components is a selection of React components that render form elements for use in a formsy-react form. The components render markup to be quickly included in a Bootstrap 3 form. This includes a <label>, help text, and some validation styling tied to formsy’s validation state and validation messages.

tcomb-form - Forms library for react

  •    Javascript

tcomb-form is looking for maintainers. If you're interested in helping a great way to get started would just be to start weighing-in on GitHub issues, reviewing and testing some PRs. The tcomb library provides a concise but expressive way to define domain models in JavaScript.

react-sizes - :left_right_arrow: Hoc to easily map window sizes to props.

  •    Javascript

React Sizes is a high-order component with a high performance that transform window sizes (width and height) into props. You can check inside your component, for example, if user's window is less than 480 pixels of width, and add a custom content. It can be very powerful for when you need to display different content for mobile and desktop. But it's not limited to this case. Just use that at your needs.

react-keydown - Lightweight keydown wrapper for React components

  •    Javascript

Use react-keydown as a higher-order component or decorator to pass keydown events to the wrapped component, or call methods directly via designated keys. Good for implementing keyboard navigation or other shortcuts. Consult the API & Reference Documentation or continue reading below for quick start.

newforms - Isomorphic form-handling for React

  •    Javascript

An isomorphic form-handling library for React. Newforms can be used on the server, or bundled for the client using an npm-compatible packaging system such as Browserify or webpack.

react-final-form - ๐Ÿ High performance subscription-based form state management for React

  •    Javascript

In the interest of making ๐Ÿ React Final Form the best library it can be, we'd love your thoughts and feedback. Take a quick survey.