You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-hook-form提交数据如何排除未挂载字段的默认值

解决方法

在useForm初始化参数中添加shouldUnregister: true配置即可实现需求,该配置会让react-hook-form自动排除未挂载对应表单控件的字段。
修改后的useForm代码如下:

const { register, handleSubmit } = useForm({
  defaultValues: {
    firstName: "test",
    lastName: "test2"
  },
  shouldUnregister: true
});

配置说明

  • react-hook-form默认会保留所有在defaultValues中声明的字段,无论对应控件是否挂载到表单
  • 开启shouldUnregister后,只有通过register注册且对应控件处于挂载状态的字段,才会被纳入提交数据
    修改后提交表单返回的数据将仅包含已挂载的firstName字段,符合预期输出。
    如果不想全局开启该配置,也可以在提交时手动过滤字段:通过getFieldState方法判断字段是否已注册,再筛选提交数据即可,全局配置是最简单高效的实现方式。

内容的提问来源于stack exchange,提问作者Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:03