React.js采坑系列(一)

事件監(jiān)聽

在React.js中監(jiān)聽并不是一件很難的事情,我們只需在監(jiān)聽事件的元素加上屬性on click等等這樣的屬性就可以了。

圖片.png

我們只需要在h1標(biāo)簽上加上onClick事件,然后onClick后面是一個(gè)表達(dá)式的插入,這個(gè)表達(dá)式返回組件Hello的一個(gè)方法。在這里只要用戶每點(diǎn)擊一次標(biāo)題,控制臺(tái)就會(huì)輸出你點(diǎn)擊了一下我!。

圖片.png

在 React.js 不需要手動(dòng)調(diào)用瀏覽器原生的 addEventListener 進(jìn)行事件監(jiān)聽。React.js 幫我們封裝好了一系列的 on* 的屬性,當(dāng)你需要為某個(gè)元素監(jiān)聽某個(gè)事件的時(shí)候,只需要簡(jiǎn)單地給它加上 on* 就可以了。而且你不需要考慮不同瀏覽器兼容性的問(wèn)題,React.js 都幫我們封裝好這些細(xì)節(jié)了。

但是需要注意的是這些事件屬性名都必須要用駝峰命名法。

event對(duì)象

與普通瀏覽器一樣,事件監(jiān)聽函數(shù)會(huì)自動(dòng)傳入一個(gè)event對(duì)象,這個(gè)對(duì)象和普通瀏覽器的event對(duì)象所包含的方法和屬性基本一致。但是React.js中的event對(duì)象并不是瀏覽器所提供的,而是它內(nèi)部所構(gòu)建的。

我們來(lái)看一下,當(dāng)用戶點(diǎn)擊h1的時(shí)候,h1inHTML也就是這是一個(gè)標(biāo)題!就會(huì)在控制臺(tái)打印出來(lái)。

圖片.png
圖片.png

關(guān)于事件中的this

一般在某個(gè)類的實(shí)例方法里面的this指的是這個(gè)實(shí)例本身。但是在下面的這個(gè)例子中直接把this給打印出來(lái),你看到會(huì)是null或者是undefined。

圖片.png
圖片.png

這是因?yàn)?React.js 調(diào)用你所傳給它的方法的時(shí)候,并不是通過(guò)對(duì)象方法的方式調(diào)用(this.handleOnClick),而是直接通過(guò)函數(shù)調(diào)用 (handleOnClick),所以事件監(jiān)聽函數(shù)內(nèi)并不能通過(guò) this 獲取到實(shí)例。

如果你想在事件函數(shù)當(dāng)中使用當(dāng)前的實(shí)例,你需要手動(dòng)地將實(shí)例方法 bind 到當(dāng)前實(shí)例上再傳入給 React.js。

圖片.png
圖片.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原教程內(nèi)容詳見精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過(guò)程中的一些閱讀筆記,個(gè)人覺得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,944評(píng)論 1 18
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • 給自己一點(diǎn)空間 一切都會(huì)過(guò)去的 如今,在我們談起愛情的時(shí)候,都是一副感慨萬(wàn)般的態(tài)度,帶著淡淡的冷漠,有點(diǎn)憂傷的說(shuō)道...
    白系閱讀 339評(píng)論 0 0
  • 偶爾從單位紙堆里翻出了這么兩張照片。 這是學(xué)校的舞臺(tái),現(xiàn)在看來(lái)確是歷史。 第一張應(yīng)是
    隱之_de1d閱讀 249評(píng)論 0 0
  • 總覺得自己比別人更加敏感,能細(xì)微的感受到生活中的種種情愫 但是,總有一個(gè)人,罵醒你的矯情,揭開你的虛弱,你的星星點(diǎn)...
    會(huì)走路的電梯閱讀 200評(píng)論 0 0

友情鏈接更多精彩內(nèi)容