Build forms in React, without the tears.
Visit https://jaredpalmer.com/formik/ to get started with Formik.
The below readme is the documentation for the
next (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):
💬 💻 🎨 📖 💡 🤔 👀 ⚠️
💬 🐛 💻 📖 🤔 👀
💬 🐛 📖
💬 🐛 🤔 👀
💬 🐛 🤔
🐛 💻 ⚠️
This project follows the all-contributors specification. Contributions of any kind welcome!
- TSDX - Zero-config CLI for TypeScript used by this repo.