Reactjs react钩子窗体在注销后保持验证字段

Reactjs react钩子窗体在注销后保持验证字段,reactjs,react-hook-form,Reactjs,React Hook Form,我在react hook表单中遇到了一些问题,在取消注册字段并保留其当前值后,我的表单将不会提交,因为所有字段在尝试提交时都经过验证 我的简化用户案例是,我的表单有两个字段firstname和lastname,其中一个按钮用于注销/注册lastname,另一个按钮用于提交表单。请检查以下内容 若要复制该问题,请单击“取消注册姓氏”而不是“提交” 当前结果:即使lastName未注册,表单也不会提交,因为lastName具有无效值(以前已注册为required:true) 预期结果:提交表单时应使

我在react hook表单中遇到了一些问题,在取消注册字段并保留其当前值后,我的表单将不会提交,因为所有字段在尝试提交时都经过验证

我的简化用户案例是,我的表单有两个字段firstname和lastname,其中一个按钮用于注销/注册lastname,另一个按钮用于提交表单。请检查以下内容

若要复制该问题,请单击“取消注册姓氏”而不是“提交”

当前结果:即使lastName未注册,表单也不会提交,因为lastName具有无效值(以前已注册为required:true)

预期结果:提交表单时应使用:{firstName:,lastName:}


我的项目有以下软件包/版本:react(~16.13.1)、react dom(~16.13.1)、react钩子表单(^7.2.2)、react脚本(~3.4.1)

使用需要设置的v7

shouldUnregister: true //<== NEW

请参阅文档:

在接受此请购单之前,此操作不起作用。因为取消注册并保留其值将导致在尝试提交表单时验证这些字段。PR集成到v7.5.0中
  const { register, unregister, handleSubmit, formState, getValues } = useForm({
    mode: "onChange",
    defaultValues: {
      firstName: "Random",
      lastName: "Name"
    },
    shouldUnregister: true
  });