利用閉包傳遞引數

多芒小丸子發表於2018-06-25

閉包是一個晦澀難懂的概念,經常會從很多地方看到閉包的定義,但是在真正的專案過程中,很少直接接觸到閉包,面試的時候也經常會被問到閉包用在哪些地方,會感到迷茫。所以,在平時的工作學習中發現有地方用到了閉包,就會感覺到非常驚喜。

閉包的定義

閉包就是能夠讀取其他函式內部變數的函式。

利用閉包傳遞引數

比如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)})
複製程式碼

閉包的用途很多,這裡只提到一個,後續會補充。

相關文章