利用闭包传递参数

767 阅读1分钟

闭包是一个晦涩难懂的概念,经常会从很多地方看到闭包的定义,但是在真正的项目过程中,很少直接接触到闭包,面试的时候也经常会被问到闭包用在哪些地方,会感到迷茫。所以,在平时的工作学习中发现有地方用到了闭包,就会感觉到非常惊喜。

闭包的定义

闭包就是能够读取其他函数内部变量的函数。

利用闭包传递参数

比如Input的onchange事件绑定的方法需要传递额外的参数时,就可以利用闭包来传值。

handleChange(key) => {
    return (value) => {
      console.log(key+value)  
    }
}
const obj = [{name:'a',key:'11'},{name:'b',key:'22'},{name:'c',key:'33'},{name:'d',key:'44}];
obj.map(item => <Input onChange={this.handleChange(item.key)})

闭包的用途很多,这里只提到一个,后续会补充。