gpt4 book ai didi

javascript - React-hook-form v7 - 自定义输入警告函数组件无法给出引用

转载 作者:行者123 更新时间:2023-12-04 07:24:57 30 4
gpt4 key购买 nike

我正在将 React-Hook-Form 从 v6 迁移到 v7,但我的自定义输入遇到了一些问题。

这是第一次调用自定义输入时控制台的警告: enter image description here

这是我的父级代码(表单):

 <form onSubmit={handleSubmit(onSubmit)}>
<div className="row">
<div className="md-8">
<div className="form-group">
<Input
name="host"
label="Adresse host *"
error={errors.host}
{...register('host')}
/>
</div>
</div>
</div>
</form>

这里是 child 的代码:

import React from 'react'

type Props = {
name?:string
label?: string
error?: any
type?: string
placeholder?: string
helper?:string
}

const Input: React.FC<Props> = (props) => {

const {name, label, error, type, placeholder, helper, ...rest} = props

return(
<div className="form-group inputText">
{label && <label htmlFor={name}>{label}</label>}
<input
type={type ?? "text"}
name={name}
placeholder={placeholder ?? ""}
className={`form-input ${error ? "form-error" : ''}`}
{...rest}/>
{!!helper && <small className="input-helper">{helper}</small>}
{error && <span className="input-error red" style={{marginBottom: 5}}>{error.type === "required" ? "Champs obligatoire" : error.message}</span>}
</div>
)
}

export default Input

该表格有效,但错误困扰着我。尽管我在互联网上搜索无果,但我无法删除它......

非常感谢!

最佳答案

好吧,我不知道为什么我第一次没有成功,但是通过向我的组件添加一个forwardRef,问题就消失了......像这样:

const Input: React.FC<Props> = React.forwardRef((props, ref) => {
[...]
<input
type={type ?? "text"}
name={name}
placeholder={placeholder ?? ""}
ref={ref}
className={`form-input ${error ? "form-error" : ''}`}
{...rest}/>
[...]
})

关于javascript - React-hook-form v7 - 自定义输入警告函数组件无法给出引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68266752/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com