2

鉴于this.handler.bind(this)可以替换为::this.handler,我该如何替换this.handler.bind(this, 1)using ::

我发现这在我想附加处理程序以响应组件的情况下很有用。例如:

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

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

我知道我可以使用_.curry(lodash) 但在代码可读性方面几乎相同:

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

1 回答 1

3

绑定运算符的ES 下一个草案不具有当前指定的部分应用程序。继续使用bind(this.handler.bind(this, 5)或者简单的箭头函数e => this.handler(5, e).

于 2016-07-29T14:48:51.107 回答