React元素處理時(shí)間跟在DOM元素上處理事件非常相似,但是有一些語法上的區(qū)別:
- React事件使用駝峰命名,而不是全部小寫。
- 通過JSX,你傳遞一個(gè)函數(shù)作為事件處理,而并不是一個(gè)字符串。
- 在React中你不能通過"return false"來阻止默認(rèn)行為,必須明確調(diào)用perventDefault()。
- 在JXS中必須注意this的指向并傳給onClick,否則在調(diào)用函數(shù)時(shí),會(huì)是undefined,例如:
this.handleClick = this.handleClick.bind(this)
注意:如果調(diào)用bind使你煩惱,那么有另外兩種方法可以解決這個(gè)問題:
- 使用es6語法:
handleClick = () => {
console.log('this is:', this);
}
- 在回調(diào)時(shí)調(diào)用箭頭函數(shù):
onClick={(e) => this.handleClick(e)}