javascript - React のクリック イベント リスニングの矢印関数に問題がありますか?
滿天的星座
滿天的星座 2017-05-19 10:31:08
0
3
983
###概要###

私は最近フロントエンドを学んだばかりなのですが、React でのイベント監視の書き方についていくつか質問があります。

私が知っている書き方は次のとおりです。


コンストラクターにバインド関数を渡します
  • 関数を定義するときは、せん断関数定義を使用します
  • リーリー

タグでせん断関数を使用します
  • リーリー ###質問###

    理解できないのは3番目の書き方です
  • リーリー
個人的には、アロー関数とバインドは同じことを別の方法で記述するべきだと考えています。しかし、私はデモを書きました

リーリー

getName3、4、5 では、getName5 が返すものは含まれていませんか? ?

おそらく問題は、アロー関数とバインドについての私の誤解にあるのでしょうか?

先輩方のご指導をお待ちしております

滿天的星座
滿天的星座

全員に返信(3)
phpcn_u1582

5のアロー関数はfunc呼び出し時にthisをバインドしないので、funcのthisはwindowを指しています
これに変更するだけです

リーリー

またはこれ:

リーリー
いいねを押す +0
曾经蜡笔没有小新

新しく定義された関数には独自の this 値があり、ブラウザーの非厳密モードでは、this はウィンドウを指します。関数がオブジェクト メソッドとして呼び出された場合、その this は呼び出されたオブジェクトを指します。この例では、getName5()中的函数func, 并非作为obj オブジェクト メソッドが呼び出されるため、this は window を指します。アロー関数とは関係ありません。

リーリー
いいねを押す +0
为情所困

@Xeira は正しいです。アロー関数が定義されると、字句スコープ内のこれは外側の字句スコープにバインドされますが、通常の関数は呼び出す必要があるときに特にバインドされます。これについては、You-Dont-Know-JS で説明を読むことをお勧めします。非常に明確です

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート