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
ます。