検索

ホームページ  >  に質問  >  本文

API からの応答を Formik フォームに書き込むにはどうすればよいですか?

<p>Formik への API 応答を記述するにはどうすればよいですか? フォームに正確に一致するデータを受け取る API があります。複数の setFieldValue 行を使用する代わりに、応答全体を一度に書き込むにはどうすればよいですか? </p> <pre class="brush:php;toolbar:false;">const form = useFormik({ 初期値: { 名前: ""、 ログイン: ""、 について: { 年: ""、 ランク: { シルバー:本当、 ゴールド: 偽、 グローバル: false } } } }); // 私の初期フォーム 定数{ 価値観、 ハンドル変更、 setFieldValue、 } = フォーム; useEffect(() => { if (!isEmpty(projectData)) { Object?.keys(projectData)?.map((項目: 任意、idx: 番号) => { const キー: any = Object.keys(item).at(-1); setFieldValue(キー, アイテム[キー]); }); } }, [projectData]); // API レスポンスを設定</pre>
P粉546257913P粉546257913454日前455

全員に返信(2)返信します

  • P粉283559033

    P粉2835590332023-08-18 15:20:03

    値が変更されたときに Formik が値を更新できるようにするには、enableReinitialize を設定する必要があります。

    リーリー

    useEffect で一度に値を直接設定することもできます。

    リーリー

    返事
    0
  • P粉176203781

    P粉1762037812023-08-18 12:57:56

    API から受け取ったデータの構造がフォームの構造と一致する場合は、setValues メソッドを使用して状態全体を一度に設定できます。

    API 応答のデータ構造 (projectData) が initialValues の構造と一致していることを確認してください。

    すべての値を一度に更新するには、setValues メソッドを使用します。

    リーリー

    返事
    0
  • キャンセル返事