useFormik()
是一個自定義的 React hook,它會直接返回所有 Formik 狀態和輔助函式。 儘管它的名稱如此,但它並不適用於大多數的使用案例。 在內部,Formik 使用 useFormik
來創建 <Formik>
組件(它會渲染一個 React Context 提供者)。 如果您嘗試透過 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 的使用者而匯出。