2017-03-03 32 views

回答

19

在onClick處理函數中使用箭頭函數怎麼樣?

handleClick = (e, data) => { 
    // access to e.target here 
    console.log(data); 
} 

<input type="checkbox" value={data.id} defaultChecked={false} onClick={((e) => this.handleClick(e, data))}/> 
+1

它的工作原理...謝謝你。 –

+0

如果我想刪除該事件監聽器,我該怎麼做? –

+0

通過刪除你的意思是什麼都不應該發生?你可以在你的handleClick函數中有一個if-check,檢查是否設置了一些道具,然後返回。那有意義嗎? –

1

首先,如果你綁定null你不會得到任何方面的UIEvent也不對象。

您需要將onClick更改爲'onClick = {this.handleClick}`。

而且你的處理函數應該像

handleClick = (event) => { 
    const { target: { value } } = event; 

    // And do whatever you need with it's value, for example change state 
    this.setState({ someProperty: value }); 
}; 
1

試試這個代碼變種:

handleClick = (data, e) => { 
    console.log(e.target.value, data); 
} 

<input type="checkbox" value={data.id} defaultChecked={false} onClick={this.handleClick.bind(this, data)}/> 
相關問題