Reactで複数イベントを実行したい。
Q&A
Closed
解決したいこと
ボタン押下時に複数のイベントを発生させたい。
①バリエーションチェック
②画面遷移
Reactで複数のイベントを1つの処理の中で行いたいのですが、うまくいきません。
つたない質問になり申し訳ございませんが、ご教示いただけますと幸いです。
発生している問題・エラー
今困っていること
①バリエーションチェックでひかかった場合に、
②画面遷移の処理をしてほしくないのに②画面遷移してしまいます。
実際の挙動
①で引っかかった際に、一瞬エラーメッセージが表示され画面遷移する。
該当するソースコード
const App: React.FC = () =>{
const [ inputText , setInputText ] = useState<string>("");
const [ errorMessage , setErrorMessage] = useState<string>("");
const maxLength = 100;
//①バリエーションチェック
const errorHandle = () =>{
if(inputText.length > maxLength) {
setErrorMessage("文字数は100文字以下にしてください。");
return;
}
}
//①バリエーションチェックを呼び出し②画面遷移する。
const onSbumit = () =>{
errorHandle();
if(errorMessage === ""){
window.location.assign('/');
}
}
return{
<textarea value={inputText} onChange={(event) => setInputText(event.target.value)}></textarea>
<button onClick={() => {onSubmit()} }>ボタン</button>
}
}
0