Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如您所知,有一个关于.bind()函数快捷方式的建议,因此您可以编写:
.bind()
::this.handleStuff
它会像在 es5 中那样工作:
this.handleStuff.bind(this)
我的问题是:有可能以这种方式传递论点吗?
我的意思是用前面提到的快捷方式写这个的一种方式:
this.handleStuff.bind(this, 'stuff')
这是 React 中很常见的模式,所以稍微缩短一点会很好。
不,绑定运算符(规范建议)有两种风格:
方法提取
::obj.method ≡ obj.method.bind(obj)
“虚拟方法”调用
obj::function ≡ function.bind(obj) obj::function(…) ≡ function.call(obj, …)
它们都没有部分应用的特点。对于您想要的,您应该使用箭头功能:
(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')