日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c调用按钮点击事件_React中事件的写法总结

發(fā)布時(shí)間:2025/3/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c调用按钮点击事件_React中事件的写法总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先我們先查看官方規(guī)則或者官方文檔的介紹,React的事件處理和DOM元素很相似,但是語(yǔ)法上是有不同的:

1、react事件采用駝峰命名法,而不是純小寫(xiě)。駝峰命名法(camelCase):命名的全部全稱, 首個(gè)單詞全部小寫(xiě)后面每個(gè)單詞的首字母大寫(xiě)。
eg: getElementById onClick
2、使用JSX語(yǔ)法的時(shí)候需要傳入一個(gè)函數(shù)作為事件處理函數(shù), 而不是一個(gè)字符串

了解基本的以后 , 下面我們利用九個(gè)例子來(lái)進(jìn)行事件的鞏固:

1、普通匿名函數(shù)的直接綁定

<button onClick={function(){alert('直接綁定')}}>按鈕1</button>

給onClick后面直接綁定函數(shù),點(diǎn)擊以后,就會(huì)執(zhí)行函數(shù)里面的內(nèi)容。

2、使用箭頭函數(shù)代替匿名的綁定

<button onClick={()=>{alert("點(diǎn)擊觸發(fā)匿名函數(shù)"); }}>按鈕2</button>

3、箭頭函數(shù)中獲取事件源(等同于原生的event對(duì)象)

<button onClick={(e)=>{e.target.style.color="red"; }}>點(diǎn)擊以后按鈕就會(huì)變成紅色</button>

e就是默認(rèn)的事件參數(shù) e中的target表示事件發(fā)生的目標(biāo)元素 點(diǎn)擊以后按鈕就會(huì)變成紅色

4、將匿名函數(shù)分離封裝

<button onClick={this.show }>點(diǎn)擊調(diào)用外面的函數(shù)</button>

點(diǎn)擊按鈕以后 觸發(fā)外面聲明的show方法 show方法定義如下

constructor(props){super(props);this.state={num:10}}show(){alert("按鈕4被點(diǎn)擊 但是里面this會(huì)脫離上下文關(guān)系");alert(this.state.num);//報(bào)錯(cuò) this是undefined} ?

可以彈框提示 , 但是會(huì)有this指向的問(wèn)題 , 接下來(lái) 我們看第五步的加強(qiáng)

5、利用箭頭函數(shù) 對(duì)this指向進(jìn)行加強(qiáng) 改寫(xiě)的代碼如下

<button onClick={this.show//參數(shù)問(wèn)題就看第六點(diǎn) }>調(diào)用函數(shù)</button> ?

點(diǎn)擊以后num就能得到改變

6、再來(lái)研究箭頭函數(shù)中參數(shù)的問(wèn)題 如果調(diào)用的時(shí)候帶走參數(shù)

<button onClick={//show6能帶參數(shù)()=>{this.show6("我是參數(shù)") } }>調(diào)用帶有參數(shù)的函數(shù)</button>

方法定義的如下 show6為一個(gè)箭頭函數(shù), content就是形參 ,接受的值為我是參數(shù)

show6=(content)=>{alert(content);}

7、事件函數(shù)觸發(fā)是帶參數(shù)和事件源

<button onClick={//show7能帶參數(shù) 還能帶事件源(e)=>{this.show7("7777",e); }}>帶走參數(shù)和事件源</button> ?

show7中第二個(gè)參數(shù)e需要特別處理, 在(e)中聲明 才能帶出去, 不然e會(huì)是沒(méi)有定義。

方法的定義部分

show7=(content,e)=>{e.target.innerHTML= content;}

content就是參數(shù)"7777" ,e就是事件源, 通過(guò)事件源可以找到目標(biāo)元素, 然后更新里面的內(nèi)容

8、不使用箭頭函數(shù) 使用bind加強(qiáng)(bind里面的第一個(gè)參數(shù) 表示bind前面函數(shù)聲明里面this的指向)

<button onClick={this.show8.bind(this)}>bind加強(qiáng)</button>

方法定義的地方

show8(){alert("bind綁定");}

9、改寫(xiě)bind 貼近官方推薦寫(xiě)法

<button onClick={this.show9} >bind寫(xiě)法</button>

在show9定義中

constructor(props){super(props);this.state={num:10}this.show9 = this.show9.bind(this);//bind的提升 調(diào)用的寫(xiě)法和8就不一樣了}show9(){alert(this.state.num);} ?

總結(jié):

react中事件的使用和原生的事件使用極其相似,我們需要解決,函數(shù)函數(shù)的聲明和參數(shù)的傳遞 使用,根據(jù)自己的實(shí)際情況,合理使用就可以了,不管是箭頭函數(shù)和普通函數(shù),實(shí)際都是殊途同歸。


千鋒HTML5學(xué)院:詳解JavaScript嚴(yán)格模式?zhuanlan.zhihu.com千鋒HTML5學(xué)院:大前端學(xué)習(xí)路線圖(附視頻及源碼)?zhuanlan.zhihu.com千鋒HTML5學(xué)院:什么是ORMapping??zhuanlan.zhihu.com千鋒HTML5學(xué)院:如何講清楚函數(shù)防抖??zhuanlan.zhihu.com

總結(jié)

以上是生活随笔為你收集整理的c调用按钮点击事件_React中事件的写法总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。