我正在使用state library,并且正在寻找一种方法来将自定义道具注入到该钩子返回的handleSubmit
方法中。我需要这样做的原因是我的组件充当{{3}}的Consumer
,并且我想在提交表单后更新状态。我可能还想将道具传递给该方法。
通过查看API,看来这是不可能的。关于解决方法或如何执行此操作的任何想法?
答案 0 :(得分:2)
我不使用该库,但似乎getValues
钩子返回的useForm
函数打开了将组件状态与“ react-hook-form”中存储的表单数据进行同步的方式:
import React, { useMemo, useEffect, useState } from "react";
import { useForm } from "react-hook-form";
export default function App() {
const { register, getValues } = useForm();
const [ valuesState, setValuesState ] = useState();
const values = useMemo(() => getValues());
useEffect(() => setValuesState(values), [values]);
return (
<form>
[...]
</form>
);
}
答案 1 :(得分:1)
为什么不只在handleSubmit
期间更新状态?
export default function App() {
const { register, getValues } = useForm();
const onSubmit = data => {
// do your state update here update(data)
}
return (
<form onSubmit={handleSubmit(onSubmit)}>
[...]
</form>
);
}