反应挂钩表单设置默认值不起作用
react hook form set default values not working
在互联网上搜索并查看 defaultValues
属性 是否使用了下面的代码,但仍然无法正常工作?
这里有什么问题吗?
import {useForm} from 'react-hook-form';
export const ProfileForm = (props) => {
const {register, handleSubmit, setValue, errors} = useForm({
defaultValues: {name: 'test'},
});
useEffect(() => {
register('name', {required: 'Name field is required'});
}, [register]);
console.log('errors', errors);
return (
<Input
label="Name"
placeholder="Enter name"
onChangeText={(text) => setValue('name', text)}
errorMessage={errors.name?.message}
/>)
}
如果您阅读了自定义寄存器文档中的 defaultValues
部分,这就是您在 register
在 useEffect
上面的代码示例中看到的内容。
It doesn't auto populate with the manually registered input (eg:
register({ name: 'test' })) because the custom register field does not
provide the ref to React Hook Form.
解决这个问题。
useController
: https://react-hook-form.com/api#useController
register
输入及其参考。 <input ref={register} />
在互联网上搜索并查看 defaultValues
属性 是否使用了下面的代码,但仍然无法正常工作?
这里有什么问题吗?
import {useForm} from 'react-hook-form';
export const ProfileForm = (props) => {
const {register, handleSubmit, setValue, errors} = useForm({
defaultValues: {name: 'test'},
});
useEffect(() => {
register('name', {required: 'Name field is required'});
}, [register]);
console.log('errors', errors);
return (
<Input
label="Name"
placeholder="Enter name"
onChangeText={(text) => setValue('name', text)}
errorMessage={errors.name?.message}
/>)
}
如果您阅读了自定义寄存器文档中的 defaultValues
部分,这就是您在 register
在 useEffect
上面的代码示例中看到的内容。
It doesn't auto populate with the manually registered input (eg: register({ name: 'test' })) because the custom register field does not provide the ref to React Hook Form.
解决这个问题。
useController
: https://react-hook-form.com/api#useControllerregister
输入及其参考。<input ref={register} />