1. 矢印関数1. 矢印関数自体はこれをバインドしないという事実を利用します。 2. render() メソッド内のこれは、setState() を取得できるコンポーネント インスタンスです。 クラスAppはReact.Componentを拡張します。 状態 = { カウント: 0 } // イベントハンドラ onIncrement() { console.log('イベント処理関数内の this:', this) this.setState({ カウント:この状態の数+1 }) } // レンダリング render() { 戻る ( <div> <h1>{this.state.count}</h1> //矢印関数内のこれは外部環境を指しています。ここでは: render() メソッド <button onClick={()=>this.onIncrement()}>+1</button> {/* <button onClick={this.onIncrement()}>+1</button> */ </div> ) } } 2. Function.proptype.bind()1. ES5のbindメソッドを使用して、イベントハンドラー内のこれをコンポーネントインスタンスにバインドします。 クラスAppはReact.Componentを拡張します。 コンストラクタ() { 素晴らしい() // データ this.state = { カウント: 0 } // 最初のメソッド.bind は this ポインタを変更し、関数を返し、関数を実行しません this.onIncrement = this.onIncrement.bind(this) } // イベントハンドラ onIncrement() { console.log('イベント処理関数内の this:', this) this.setState({ カウント:この状態の数+1 }) } // レンダリング render() { 戻る ( <div> <h1>{this.state.count}</h1> <button onClick={this.onIncrement}>+1</button> {/* <button onClick={this.onIncrement()}>+1</button> */ </div> ) } } 3.クラスインスタンスメソッド1. クラスインスタンスメソッドを矢印関数の形で使う 2. この構文は実験的ですが、babelが存在するため直接使用できます。 クラスAppはReact.Componentを拡張します。 コンストラクタ() { 素晴らしい() // データ this.state = { カウント: 0 } } // イベントハンドラ onIncrement=()=> { console.log('イベント処理関数内の this:', this) this.setState({ カウント:この状態の数+1 }) } // レンダリング render() { 戻る ( <div> <h1>{this.state.count}</h1> <button onClick={this.onIncrement}>+1</button> {/* <button onClick={this.onIncrement()}>+1</button> */ </div> ) } } これで、React で this をイベント バインディングする 3 つのメソッドの実装に関するこの記事は終了です。React で this をイベント バインディングする関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: mysql8.0.11をインストールしてrootパスワードを変更し、navicat for mysqlに接続するアイデアの詳細な説明
>>: Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)
目次1. 親コンポーネントが子コンポーネントに値を渡す1. 親コンポーネント.vue 2. サブコン...
ダウンロードしてインストールします。まず、システムに MySQL または MariaDB があるかど...
1. コマンドの紹介usermod (ユーザー変更) コマンドは、ユーザー アカウントを変更するため...
ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...
序文innodb_data_file_path は、innodb テーブルスペース ファイルを指定す...
ヒント1: 集中力を保つ最高のモバイル アプリは、1 つのことを非常にうまく行うことに重点を置いてい...
要件:ページ コンテンツが短く、ブラウザーの高さをサポートできない場合でも、フッターをウィンドウの下...
ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...
環境: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-8169922...
質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか?インデ...
0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...
Linuxインスタンスでシステムディスクを初期化した後、データディスクを再マウントするLinux イ...
この記事では、円形のプログレスバー効果を実現するためのJavaScriptの具体的なコードを参考まで...
債券とは何かNIC ボンドは、実稼働シナリオでよく使用されるテクノロジーです。複数の NIC を 1...
関数0. 現在の時刻を表示するコマンド: select now()。機能: 現在の時刻を表示します。...