以下のようにすればEnterでSubmitされるのを防ぐことができます。
formタグにonKeyDownを追加し、Enterキーが押されたらevent.preventDefault()でsubmitをキャンセルしています。
import { useForm } from "react-hook-form";
const App = () => {
const { register, handleSubmit } = useForm();
const onSubmit = (data: any) => console.log(data);
const handleKeyDown = (e: { key: string; preventDefault: () => void }) => {
if (e.key === "Enter") {
e.preventDefault();
}
};
return (
<form onSubmit={handleSubmit(onSubmit)} onKeyDown={handleKeyDown}>
<input {...register("example")} />
<input type="submit" />
</form>
);
};
export default App;