useFormik()
是一个自定义的 React hook,它将直接返回所有 Formik 状态和帮助器。尽管它的名字如此,但它并不适用于大多数用例。在内部,Formik 使用 useFormik
创建 <Formik>
组件(它渲染一个 React Context 提供程序)。如果您尝试通过上下文访问 Formik 状态,请使用 useFormikContext。仅当您**不**使用 <Formik>
或 withFormik
时,才使用此 hook。
**请注意,<Field>
、<FastField>
、<ErrorMessage>
、connect()
和 <FieldArray>
将**无法**与 useFormik()
一起使用,因为它们都需要 React Context。
useFormik()
的用例<Formik>
的修改版本以供您自己使用import 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>
一个自定义的 React Hook,它返回 Formik 状态和帮助器。它在内部用于创建 <Formik>
组件,但也可用于高级用例或那些不想使用 React Context 的人。