以下是关于react的代码:
handleChange = name => event => {
console.log(name, event.target.value);
}
这是React DOM上的代码
onChange={this.handleChange('storeName')}
我不明白的是,事件是如何传入的,甚至没有在this.handleChange('storeName')函数中声明它?它是如何工作的?因为我认为通常这样工作。
this.handleChange(e)
,然后尝试通过声明事件来获取事件。
答案 0 :(得分:2)
因为$("#inject-toc-here > ol > li::before").css('content", "counters(item, ".") " "');
返回一个函数,然后该函数被分配给this.handleChange('storeName')
处理程序。
答案 1 :(得分:2)
handleChange = name => event => {
这不是一个简单的功能。它是一个返回函数的函数。让我们重写一下:
function name => {
return event => {
// name is captured inside this closure
console.log(name, event.target.value);
}
}
因此,调用this.handleChange('storeName')
实际上会生成一个以event
作为参数的函数,然后我们将 that 函数分配给onChange
。