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 実行コードを含む)
この記事では、例を使用して、MySQL レプリケーションの原理と実際のアプリケーションについて説明し...
1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードに複数の IP ア...
crontab コマンドは、Unix および Linux で定期的な実行命令を設定するために使用され...
達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...
Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...
目次考える1. 貪欲な蛇の効果画像2. スネークの分析2.1 ゲーム開始機能2.2 運動機能2.2....
Mac を返却して以来、元のラップトップは使用されていません。このラップトップの構成は非常に良好で...
サービス.xml Server.xml 構成ファイルは、コンテナー全体を構成するために使用されます。...
Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...
目次親コンポーネントと子コンポーネント間でパラメータを渡すルーティングパラメータステータスの改善コン...
CSS インポート方法 - インラインスタイルタグ属性を通じて、CSSのキーと値のペアがタグに直接書...
1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...
少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...
この記事では、ネイティブ JS で実装されたドラッグ可能な写真ウォールを紹介します。効果は次のとおり...
ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...