从另一个组件的表单复制表单输入 - React Hook Form

Copy form input from another Component's form - React Hook Form

我有两个具有相同表单字段的 React 组件。有一个复选框,如果被选中,它应该反映来自其他组件中表单的输入。

与“帐单地址相同”功能的概念相同,但表格位于不同的组件中。

我正在尝试使用 React Hook Form 的“watch”,但我不确定如何将输入从 Component: FormOne 传递到 Component: FormTwo。

这是我的代码:Code Sandbox

由于您多次使用 useForm,因此无法使用提供的 RHF <FormProvider />

所以基本上你有以下选择:

  • 重构您的 <Form /> 组件,它们都将使用 useForm 返回的相同方法,方法是使用 RHF 的 <FormProvider /> 而不是为每个 [=12] 定义 useForm =] 组件.
  • 使用 React 的上下文 API 这样您就可以在每个子 <Form /> 组件中访问表单状态
  • 使用 props 传递值和设置器

这是一个使用 RHF 的 CodeSandbox <FormProvider />:

这是一个使用 Context API:

的 CodeSandbox