Forms in React, without tears
Visit https://jaredpalmer.com/formik to get started with Formik.
The below readme is the documentation for the
canary (prerelease) version of Formik. To view the documentation for the latest stable Formik version visit jaredpalmer.com/formik/docs
Let's face it, forms are really verbose in React. To make matters worse, most form helpers do wayyyy too much magic and often have a significant performance cost associated with them. Formik is a small library that helps you with the 3 most annoying parts:
- Getting values in and out of form state
- Validation and error messages
- Handling form submission
By colocating all of the above in one place, Formik will keep things organized--making testing, refactoring, and reasoning about your forms a breeze.
You can play with Formik in your web browser with these live online playgrounds.
- CodeSandbox (ReactDOM) https://codesandbox.io/s/zKrK5YLDZ
- Expo Snack (React Native) https://snack.expo.io/@jaredpalmer/basic-formik-x-react-native-example
- Sync Validation
- Building your own input primitives
- Working with 3rd-party inputs:
- Accessing React lifecycle functions
- React Native
- Handling API Errors
Organizations and projects using Formik
Formik is made with <3 thanks to these wonderful people (emoji key):
| Jared Palmer💬 💻 🎨 📖 💡 🤔 👀 ⚠️ | Ian White💬 🐛 💻 📖 🤔 👀 | Andrej Badin💬 🐛 📖 | Adam Howard💬 🐛 🤔 👀 | Vlad Shcherbin💬 🐛 🤔 | Brikou CARRE🐛 📖 | Sam Kvale🐛 💻 ⚠️ | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | Jon Tansey🐛 💻 | Tyler Martinez🐛 📖 | Tobias Lohse🐛 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
- TSDX - Zero-config CLI for TypeScript used by this repo.