[react]イベントの処理
イベントの処理
onClick
Reactは、文字列ではなくJSXを使用してイベントハンドラを関数に渡します.<button onClick={() => alert('hello')}>Submit</button>
上のコードは、lambda関数をonClickのオブジェクトとして使用し、Submitボタンをクリックしたときに「hello」文字を表示するコードです.
注意!<button onClick={alert('hello')}>Submit</button>
上記のコードのように、JavaScriptコードではなくonClickオブジェクトに直接関数を書き込む場合は、最初のレンダリング時にボタンを押さずにalert関数をすぐに実行でき、その後Submit
ボタンを押すとalert関数は実行されないので注意してください.常に関数を含めるためにコードを作成する必要があります.const onSubmit = () => {
alert('submitted');
};
return (
<button onClick={onSubmit}>Submit</button>
)
もう1つの方法は、onSubmit
という関数(上記のコードに示すように)を作成し、onClickのオブジェクト部分に配置して、イベントをよりよく処理することです.
onKeyUp
onKeyUpとは、キーボードを押すと、キーボードが昇ると指定した関数が実行されるイベントです.const onKeyUp = () => {
console.log('key up');
};
return (
<input onKeyUp={onKeyUp}/>
}
イベントをキーボードを押すたびにconsoleウィンドウに「keyup」が表示されるように設定すると、helloを入力すると、consoleウィンドウに「keyup」ログが5回記録されます.
<button onClick={() => alert('hello')}>Submit</button>
<button onClick={alert('hello')}>Submit</button>
const onSubmit = () => {
alert('submitted');
};
return (
<button onClick={onSubmit}>Submit</button>
)
const onKeyUp = () => {
console.log('key up');
};
return (
<input onKeyUp={onKeyUp}/>
}
function App() {
const onSubmit = () => {
alert('submitted');
};
const onKeyUp = (event) => {
// 'enter'키의 keycode는 13
if (event.keyCode === 13) {
onSubmit();
}
};
return (
<div className="App">
<input onKeyUp={onKeyUp} />
<button onClick={onSubmit}>Submit</button>
</div>
);
}
「enter」のkeycodeは13で、Enterが押されたときにonSubmit
関数を実行できます.Reference
この問題について([react]イベントの処理), 我々は、より多くの情報をここで見つけました https://velog.io/@chaeshee0908/React-이벤트-처리하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol