私は簡単な関数(リアクトコンポーネント内)があります。これをリバインドせずに太い矢印の機能を持つオブジェクトを返す方法はありますか?
getInitialState: function() {
return {
text: this.props.text
}
}
をしかし、私はそれarrowify脂肪にしたい:
getInitialState:() => {
text: this.props.text
}
私はエラーを取得する以外、脂肪矢印手段の後にあるため{
あなたが明示的にreturn
何かを除いて、未定義を返すコードブロック。少なくともそれは私が最初に思ったものです。しかし、私はthis
がその太った矢の機能に今や縛られていると思って、今this.props
はundefined
です。
だから私は、この試す:this.props
は未定義である、
getInitialState:() => new Object({
text: this.props.text
})
をしかし、私は同じエラーを取得します。
私は興味がある2つの問題があると思います。まず、簡単なステートメントの太矢印の関数からオブジェクトを返す慣用的な方法は何ですか?次に、周辺コンテキストのthis
オブジェクトへの参照を持つオブジェクトを返すにはどうすればよいですか?
矢印機能はコンテキストを保持しますが、 'new'を使用すると' this'がリセットされ、エラーが発生します。これを動作させたいなら、ES5のハック 'var self = this'に戻ることができます – Rajesh
これは"太い矢印の関数 "ではなく"矢の関数 "と呼ばれています。 – naomik