React Event Handling
🧑💻 React study 4.
Chapter 4.
イベントハンドル
4.1反応のイベントシステム
4.1.1イベント使用時の注意事項1) 이벤트 이름은 카멜 표기법으로 작성.
2) 이벤트에 실행할 자바스크립트 코드를 전달하는 것이 아니라, 함수 형태의 값을 전달한다.
3) DOM 요소에만 이벤트를 설정 할 수 있다.
4.1.2活動タイプ
リアクターがサポートするイベントの種類はいろいろあるので、やるたびにグーグルしておけばいい!
4.2イベントハンドル
4.2.1構成部品の作成とロード
1)構成部品の作成
2)構成部品のインポート
4.2.2 onChangeイベントの設定
EventPracticeコンポーネントで入力要素をレンダリングするコードと、これらの要素にイベントを設定するコードを記述します.
// onChange 설정 부분
onChange{
(e) => {
console.log(e);
}
}
上のコードでは、eはSyntheticEventであり、Webブラウザのブラウザイベントを囲むオブジェクトです.// 이벤트가 발생 할 때 마다 input 되는 값을 변경 해준다.
onChange = {
(e) => {
console.log(e.target.value);
}
}
4.2.2.1 stateに入力値を含める
4.2.2.2ボタンの場合コメント値を空白にする
4.2.3ランダムメソッドの作成
1)基本的な方法
onChangeとonClickに渡される関数を分離して任意の構成部品を作成する方法
関数が呼び出されると、これは呼び出し部分に依存します.
メソッドをイベントとして登録し、コンポーネント自体を正しく指す場合は、メソッドをバインドする必要があります.
メソッド名ルール
イベントの処理方法についてはhandle*形式で作成
2)Property Initializer Syntaxを使用した作成方法
メソッドバインドはジェネレータメソッドで慣例です.
ただし、新しいメソッドを作成するたびにコンストラクション関数を変更する必要があるため、不便な点があります.
解決方法は矢印関数として定義できます. handleChange = (e) => {
this.setState({
message: e.target.value,
});
};
handleClick = () => {
alert(this.state.message);
this.setState({
message: '',
});
};
4.2.4複数入力の処理
イベントオブジェクト設定stateを使用すると、問題を簡単に解決できます.
// 핵심 코드
handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value,
});
};
オブジェクトに[]を使用してkeyを囲む場合、その中に含まれるreprenceが示す実際の値がkey値として使用されます.const name = 'david';
const object = {
[name]: 'value';
};
// 결과 값
{
'david': 'value'
}
4.2.5 onKeyPressイベントハンドル
4.3関数素子として実施
1) e.target.nameを使用せずに2つのonChange関数を作成
Reference
この問題について(React Event Handling), 我々は、より多くの情報をここで見つけました
https://velog.io/@davidkim97/React-Event-Handling
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
1) 이벤트 이름은 카멜 표기법으로 작성.
2) 이벤트에 실행할 자바스크립트 코드를 전달하는 것이 아니라, 함수 형태의 값을 전달한다.
3) DOM 요소에만 이벤트를 설정 할 수 있다.
// onChange 설정 부분
onChange{
(e) => {
console.log(e);
}
}
// 이벤트가 발생 할 때 마다 input 되는 값을 변경 해준다.
onChange = {
(e) => {
console.log(e.target.value);
}
}
handleChange = (e) => {
this.setState({
message: e.target.value,
});
};
handleClick = () => {
alert(this.state.message);
this.setState({
message: '',
});
};
// 핵심 코드
handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value,
});
};
const name = 'david';
const object = {
[name]: 'value';
};
// 결과 값
{
'david': 'value'
}
Reference
この問題について(React Event Handling), 我々は、より多くの情報をここで見つけました https://velog.io/@davidkim97/React-Event-Handlingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol