2

this.handler.bind(this)に置き換えることができるとすれば::this.handler、どのように置き換えることができthis.handler.bind(this, 1)ます::か?

これは、ハンドラーをアタッチしてコンポーネントを反応させたい場合に便利です。例えば:

handler(x) {
  this.setState({counter: x})
}

<a onClick={this.handler.bind(this, 5)}>increment by 5</a>

(lodash)を使用できることはわかっています_.curryが、コードの読みやすさに関してはほとんど同じです。

<a onClick={_.curry(::this.handler, 5)}>increment by 5</a>
4

1 に答える 1

3

bind operatorのES の次のドラフトでは、現在仕様が定められているため、部分的な適用は含まれていません。bind(または単純なアローthis.handler.bind(this, 5)関数e => this.handler(5, e).

于 2016-07-29T14:48:51.107 に答える