useFormik()
is a custom React hook that will return all Formik state and helpers directly. Despite its name, it is not meant for the majority of use cases. Internally, Formik uses useFormik
to create the <Formik>
component (which renders a React Context Provider). If you are trying to access Formik state via context, use useFormikContext. Only use this hook if you are NOT using <Formik>
or withFormik
.
** Be aware that <Field>
, <FastField>
, <ErrorMessage>
, connect()
, and <FieldArray>
will NOT work with useFormik()
as they all require React Context.
useFormik()
<Formik>
for your own consumptionimport React from 'react';import { useFormik } from 'formik';const SignupForm = () => {const formik = useFormik({initialValues: {firstName: '',lastName: '',email: '',},onSubmit: values => {alert(JSON.stringify(values, null, 2));},});return (<form onSubmit={formik.handleSubmit}><label htmlFor="firstName">First Name</label><inputid="firstName"name="firstName"type="text"onChange={formik.handleChange}value={formik.values.firstName}/><label htmlFor="lastName">Last Name</label><inputid="lastName"name="lastName"type="text"onChange={formik.handleChange}value={formik.values.lastName}/><label htmlFor="email">Email Address</label><inputid="email"name="email"type="email"onChange={formik.handleChange}value={formik.values.email}/><button type="submit">Submit</button></form>);};
useFormik<Values>(config: FormikConfig<Values>): FormikProps<Values>
A custom React Hook that returns Formik states and helpers. It is used internally to create the <Formik>
component, but is exported for advanced use cases or for those people that do not want to use React Context.
The latest Formik news, articles, and resources, sent to your inbox.