【问题标题】:Validation with yup failed for generic react hook form component使用 yup 验证通用反应钩子表单组件失败
【发布时间】:2022-01-19 01:09:09
【问题描述】:

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

【问题讨论】:

  • 我认为您没有保存代码沙箱。它只是一个通用的 TS/React 游乐场
  • 你现在能检查一下吗

标签: typescript react-hook-form


【解决方案1】:

有几个问题:

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

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

【讨论】:

  • 啊,我明白了,谢谢。您认为我可以避免使用 还是在制作这样的自定义字段时需要它?
  • FormProvider 不需要useFormContext
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 2021-05-17
  • 2020-10-15
  • 2021-12-20
相关资源
最近更新 更多