回答編集履歴
1
{}つける
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
それを解決する手段の一つとして、`{(e) => this.handleClick(e)}`があったのです。こちらは`=>`によって`this`が束縛されるため、`this`がこのオブジェクトであるところの関数というものをonClickに渡します。ですので、コールバックでも`this`が何か別のものになるのを防ぎます。他の解決方法として`this.handleClick.bind(this)`とする方法や、コンストラクタで`this.handleClick = this.handleClick.bind(this);`としておくという方法があります。そして、第4の方法として、該当コードであるClass Fieldsを用いた記法が(まだ正式では無いが)できるようになったと言うことです。
|
59
|
+
それを解決する手段の一つとして、`{(e) => this.handleClick(e)}`があったのです。こちらは`=>`によって`this`が束縛されるため、`this`がこのオブジェクトであるところの関数というものをonClickに渡します。ですので、コールバックでも`this`が何か別のものになるのを防ぎます。他の解決方法として`{this.handleClick.bind(this)}`とする方法や、コンストラクタで`this.handleClick = this.handleClick.bind(this);`としておくという方法があります。そして、第4の方法として、該当コードであるClass Fieldsを用いた記法が(まだ正式では無いが)できるようになったと言うことです。
|
60
60
|
|
61
61
|
|
62
62
|
|
@@ -64,13 +64,13 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
-
1. アロー関数`=>`で囲って渡す。
|
67
|
+
1. アロー関数`=>`で囲って渡す。`{(e) => this.handleClick(e)}`
|
68
68
|
|
69
|
-
2. `bind(this)`して渡す。
|
69
|
+
2. `bind(this)`して渡す。`{this.handleClick.bind(this)}`
|
70
70
|
|
71
|
-
3. コンストラクタで`bind(this)`しておく。
|
71
|
+
3. コンストラクタで`bind(this)`しておく。`this.handleClick = this.handleClick.bind(this);`
|
72
72
|
|
73
|
-
4. Class Fieldsでアロー関数を使う。
|
73
|
+
4. Class Fieldsでアロー関数を使う。`handleClick = (e) => {...};`
|
74
74
|
|
75
75
|
|
76
76
|
|