如何在 React Hook Form 中将对象传递给 onSubmit
How to pass an object to onSubmit in React Hook Form
当使用 react-hook-form
时,我需要将任意数据传递给 onSubmit
函数。示例代码:
function App() {
const { register, handleSubmit } = useForm();
const navigation = { foo: 'bar' }; // object to pass
const onSubmit = (data) => {
// how to access navigation here?
console.log(data);
console.log(navigation); // undefined
};
return (
<form onSubmit={handleSubmit(onSubmit)}> // <<== pass navigation here as arg?
<input defaultValue="test" {...register("example")} />
<input type="submit" />
</form>
);
}
如何将我的对象 navigation
传递给 onSubmit
?
handleSubmit(onSubmit)
表示您通过引用传递 onSubmit
并且它默认采用 data
,像这样调用 handleSubmit
:
<form onSubmit={handleSubmit(data => onSubmit(data, navigation))}>
对象应该在此处可用:
const onSubmit = (data, obj) => {
console.log(data, obj);
};
您好,我猜导航道具是由 App 组件接收的(就像一个道具),然后您可以将它传递给 onSubmit 方法。
试试这个:
"onSubmit={()=>handleSubmit(props.navigation)}"
你可以这样做。
const onSubmit = (obj) => (formData) => {
console.log(obj);
};
<form onSubmit={handleSubmit(onSubmit(obj))}> // your obj
当使用 react-hook-form
时,我需要将任意数据传递给 onSubmit
函数。示例代码:
function App() {
const { register, handleSubmit } = useForm();
const navigation = { foo: 'bar' }; // object to pass
const onSubmit = (data) => {
// how to access navigation here?
console.log(data);
console.log(navigation); // undefined
};
return (
<form onSubmit={handleSubmit(onSubmit)}> // <<== pass navigation here as arg?
<input defaultValue="test" {...register("example")} />
<input type="submit" />
</form>
);
}
如何将我的对象 navigation
传递给 onSubmit
?
handleSubmit(onSubmit)
表示您通过引用传递 onSubmit
并且它默认采用 data
,像这样调用 handleSubmit
:
<form onSubmit={handleSubmit(data => onSubmit(data, navigation))}>
对象应该在此处可用:
const onSubmit = (data, obj) => {
console.log(data, obj);
};
您好,我猜导航道具是由 App 组件接收的(就像一个道具),然后您可以将它传递给 onSubmit 方法。
试试这个:
"onSubmit={()=>handleSubmit(props.navigation)}"
你可以这样做。
const onSubmit = (obj) => (formData) => {
console.log(obj);
};
<form onSubmit={handleSubmit(onSubmit(obj))}> // your obj