useFormik()

useFormik() は、すべてのFormikの状態とヘルパーを直接返すカスタムReactフックです。その名前にもかかわらず、ほとんどのユースケースには適していません。内部的には、FormikはuseFormikを使用して<Formik>コンポーネント(Reactコンテキストプロバイダーをレンダリングする)を作成します。コンテキストを介してFormikの状態にアクセスしようとしている場合は、useFormikContextを使用してください。 <Formik>またはwithFormikを使用していない場合にのみ、このフックを使用してください。

**<Field><FastField><ErrorMessage>connect()、および<FieldArray>は、すべてReactコンテキストを必要とするため、useFormik()では機能しないことに注意してください。

useFormik()のユースケース

  • あなたはJaredです
  • 戻り値を変更し、独自の消費のために変更されたバージョンの<Formik>を作成しています
  • Reactコンテキストの使用を避けたい(おそらくパフォーマンス上の理由から)

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>

Formikの状態とヘルパーを返すカスタムReactフック。 <Formik>コンポーネントを作成するために内部的に使用されますが、高度なユースケースやReactコンテキストを使用したくないユーザーのためにエクスポートされます。

このページは役に立ちましたか?

ニュースレターを購読する

最新のFormikのニュース、記事、リソースが受信トレイに送信されます。

Copyright © 2020 Formium, Inc. All rights reserved.