通用反应挂钩表单组件的 yup 验证失败

Validation with yup failed for generic react hook form component

我正在尝试为反应钩子形式的文本输入制作通用组件。
这是沙盒的 link:
https://codesandbox.io/s/eager-https-0osjz?file=/src/App.tsx 问题出在验证上,当我将代码移动到单独的组件时它就开始了。
我这里做错了什么?
我怀疑我第一次使用 TS 时遇到了一些问题。

有几个问题:

  • 您使用的是两个 useForm 而不是一个,这就是不显示错误和不提交表单的原因
  • 控制器需要 control 道具才能工作,您可以从 useForm 获取控制权并将其传递给子组件或使用 useFormContext
  • 检索它

您的工作示例:https://codesandbox.io/s/quizzical-alex-d7gpn?file=/src/App.tsx