タグ

2023年11月6日のブックマーク (1件)

  • React Hook FormでuseFieldArrayの初期化方法を間違っていた話。初期値はdefaultValuesで設定すること

    React Hook FormのuseFieldArrayは動的にフォームの入力項目を増減する必要がある場合にとても便利な機能です。 とても便利な機能なのですが、私は最初間違って使っていました。 正しい使い方を理解したので記事にまとめておこうと思います。 useFieldArrayの公式ドキュメントは下記を参照してください。 どう間違えたのか? サンプルコードを交えて説明した方が理解しやすいので、サンプルコードに沿って説明します。 サンプルコードのバージョンは下記の通りです。 react: 18.2.0 react-hook-form: 7.43.0 例えば下記のようなデータをAPIで受け取り、valueの数だけテキストボックスを作成する画面を考えます。 import { useEffect } from 'react'; import { useFieldArray, useForm,

    React Hook FormでuseFieldArrayの初期化方法を間違っていた話。初期値はdefaultValuesで設定すること
    wakuworks
    wakuworks 2023/11/06
    isDirty やリセットを考慮すると defaultValues を指定するのは良い(作者も defaultValues の指定を推奨している)のだが、append や remove しても最初に指定した defaultValues が残り続けて別の問題が生じてつらい