对于react插件transform-class-properties,你可以在不进行绑定的情况下调用函数,但是使用“this”对象然后调用父类对象而不是调用obj。
所以对于这个例子。原始代码使用输入变量调用函数并更新选择。
<Select
...
onChange={this.handleChange.bind(variable)}
...
/>
handleChange(lookupKey, event) => {
...
this.set(value, 'form');
}
使用transform-class-properties版本时,它不起作用,因为“this”对象是父类对象。
<Select
...
onChange={this.handleChange(variable)}
...
/>
handleChange = (lookupKey) => (event) => {
...
// no longer works
this.set(value, 'form');
}
调用对象是否像原始一样被传递或访问,而不必知道它在道具中的位置?
答案 0 :(得分:0)
当它转变时,我认为我没有提供足够的例子来理解答案,但我能够理清我的问题。
发生的事情是绑定将第一个变量分配给&#34;这个&#34;。
<Select
...
onChange={this.handleChange.bind(obj, variable)}
...
/>
handleChange(lookupKey, event) => {
...
this.set(value, 'form');
}
使用transform-class-properties版本,这不会发生。我需要做的就是将第一个变量设置为调用函数的第一个变量,然后使用它代替&#34;这个&#34;。
<Select
...
onChange={this.handleChange(obj, variable)}
...
/>
handleChange = (obj, lookupKey) => (event) => {
...
obj.set(value, 'form');
}