ReactでES6クラスを使用するのは初めてですが、以前は現在のオブジェクトにメソッドをバインドしていましたが(最初の例を参照)、ES6を使用すると、クラス関数を矢印でクラスインスタンスに永続的にバインドできますか?(コールバック関数として渡すときに便利です。)CoffeeScriptでできるように使用しようとすると、エラーが発生します。
class SomeClass extends React.Component {
// Instead of this
constructor(){
this.handleInputChange = this.handleInputChange.bind(this)
}
// Can I somehow do this? Am i just getting the syntax wrong?
handleInputChange (val) => {
console.log('selectionMade: ', val);
}
SomeClass.handleInputChange
たとえばsetTimeout
、に渡した場合、スコープはwindow
オブジェクトではなくクラスインスタンスにスコープされます。