API からの応答を Formik フォームに書き込むにはどうすればよいですか?
P粉546257913
P粉546257913 2023-08-17 17:33:34
0
2
499
<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粉546257913
P粉546257913

全員に返信(2)
P粉283559033

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

リーリー

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

リーリー
いいねを押す +0
P粉176203781

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

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

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート