useFormik()

useFormik() 是一个自定义的 React hook,它将直接返回所有 Formik 状态和帮助器。尽管它的名字如此,但它并不适用于大多数用例。在内部,Formik 使用 useFormik 创建 <Formik> 组件(它渲染一个 React Context 提供程序)。如果您尝试通过上下文访问 Formik 状态,请使用 useFormikContext。仅当您**不**使用 <Formik>withFormik 时,才使用此 hook。

**请注意,<Field><FastField><ErrorMessage>connect()<FieldArray> 将**无法**与 useFormik() 一起使用,因为它们都需要 React Context。

useFormik() 的用例

  • 您是 Jared
  • 您正在修改返回值并创建 <Formik> 的修改版本以供您自己使用
  • 您希望避免使用 React Context(可能是出于性能原因)

示例

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>
<input
id="firstName"
name="firstName"
type="text"
onChange={formik.handleChange}
value={formik.values.firstName}
/>
<label htmlFor="lastName">Last Name</label>
<input
id="lastName"
name="lastName"
type="text"
onChange={formik.handleChange}
value={formik.values.lastName}
/>
<label htmlFor="email">Email Address</label>
<input
id="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 的人。

此页面是否有帮助?

订阅我们的新闻通讯

最新的 Formik 新闻、文章和资源,发送到您的收件箱。

版权所有 © 2020 Formium, Inc. 保留所有权利。