gpt4 book ai didi

javascript - 使用绑定(bind)运算符来柯里化(Currying)一个函数?

转载 作者:行者123 更新时间:2023-11-29 19:11:17 26 4
gpt4 key购买 nike

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

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

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>

最佳答案

ES next draft for the bind operator不具有当前指定的部分应用功能。只需继续使用 bind (this.handler.bind(this, 5) 或一个简单的箭头函数 e => this.handler(5, e).

关于javascript - 使用绑定(bind)运算符来柯里化(Currying)一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com