Formik への API 応答を記述するにはどうすればよいですか? フォームに正確に一致するデータを受け取る API があります。複数の setFieldValue 行を使用する代わりに、応答全体を一度に書き込むにはどうすればよいですか?
const form = useFormik({ 初期値: { 名前: ""、 ログイン: ""、 について: { 年: ""、 ランク: { シルバー:本当、 ゴールド: 偽、 グローバル: false } } } }); // 私の初期フォーム 定数{ 価値観、 ハンドル変更、 setFieldValue、 } = フォーム; useEffect(() => { if (!isEmpty(projectData)) { Object?.keys(projectData)?.map((項目: 任意、idx: 番号) => { const キー: any = Object.keys(item).at(-1); setFieldValue(キー, アイテム[キー]); }); } }, [projectData]); // API レスポンスを設定
値が変更されたときに Formik が値を更新できるようにするには、
リーリーenableReinitialize
を設定する必要があります。
リーリーuseEffect
で一度に値を直接設定することもできます。API から受け取ったデータの構造がフォームの構造と一致する場合は、
setValues
メソッドを使用して状態全体を一度に設定できます。API 応答のデータ構造 (
projectData
) がinitialValues
の構造と一致していることを確認してください。すべての値を一度に更新するには、
リーリーsetValues
メソッドを使用します。