mizulba12日前 00React Hook Formでフォーム値を自動設定する副作用はuseEffectで行うReactフロントエンドreact-hook-formで「特定条件のときに別フィールドの値を自動設定する」処理は、レンダー中ではなくuseEffectでonChange/setValueを呼ぶ。理由は、表示用のvalueだけ差し替えても実フォーム値が更新されず保存値と表示値がズレるため、副作用としてフォーム値自体を更新する必要があるから。レンダー中にonChangeを呼ぶのは避ける。意図を明確にしたい場合は専用hookに切り出すとコンポーネント内の副作用が読みやすくなる。