[react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?
[react] <div onClick={handlerClick}>單擊</div>和<div onClick={handlerClick(1)}>單擊</div>有什么區(qū)別?
綁定函數(shù)有三種方法
1、constructor綁定
constructor(props) {
super``(props);
this``.handleClick = this``.handleClick.bind(``this``); //構(gòu)造函數(shù)中綁定
}
//然后可以
<p onClick={``this``.handleClick}>
2. 使用時(shí)綁定
<``p onClick={this.handleClick.bind(this)}>
3. 使用箭頭函數(shù) 這種最簡(jiǎn)單 不用考慮this的指向問(wèn)題 (但是會(huì)造成額外的渲染)
以上三種方法,第一種最優(yōu)。
因?yàn)榈谝环N構(gòu)造函數(shù)只在組件初始化的時(shí)候執(zhí)行一次,
第二種組件每次render都會(huì)執(zhí)行
第三種在每一次render時(shí)候都會(huì)生成新的箭頭函數(shù)。例:Test組件的click屬性是個(gè)箭頭函數(shù),組件重新渲染的時(shí)候Test組件就會(huì)
因?yàn)檫@個(gè)新生成的箭頭函數(shù)而進(jìn)行更新,從而產(chǎn)生Test組件的不必要渲染。
個(gè)人簡(jiǎn)介
我是歌謠,歡迎和大家一起交流前后端知識(shí)。放棄很容易,
但堅(jiān)持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關(guān)前端面試題
總結(jié)
以上是生活随笔為你收集整理的[react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: VBA Mid()函数 截取字符串 -
- 下一篇: Jquery+WeUI开发移动APP应用