フォームのonSubmit属性を訳あって別のボタンのイベントからも操作したいのですが可能でしょうか?
やりたいこと
typescript
1import * as React from "react"; 2import { render } from "react-dom"; 3import { useForm } from "react-hook-form"; 4 5import "./styles.css"; 6 7type FormData = { 8 firstName: string; 9 lastName: string; 10}; 11 12export default function App() { 13 const { register, handleSubmit, errors } = useForm<FormData>(); 14 const onSubmit = handleSubmit(({ firstName, lastName }) => { 15 console.log(firstName, lastName); 16 }); 17 18 return ( 19 <> 20 <form onSubmit={onSubmit}> 21 <label>First Name</label> 22 <input name="firstName" ref={register({reqired: true})} /> 23 <label>Last Name</label> 24 <input name="lastName" ref={register} /> 25 <input type="submit"/> // このボタンは当然onSubmitを待ち受ける 26 </form> 27 //<button onClick={このボタンをクリックしたらonSubmitが実行されたことと同義にしたい}> 28 // 送信 29 //</button> 30 </> 31 ); 32} 33 34const rootElement = document.getElementById("root"); 35render(<App />, rootElement); 36
理由としては、registerのバリデーションを別のボタンでも検出したいからなんですよね。(handleSubmitがonSubmitを経由してるのでonSubmitを外部から検知したい)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/18 04:17
2020/12/18 04:23 編集