第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢索 React.js 元素的 ID

檢索 React.js 元素的 ID

桃花長相依 2021-10-21 15:13:22
我已經(jīng)設(shè)置了一個靜態(tài) id 來響應(yīng)元素,并且將onClick偵聽器設(shè)置為組件,我將事件對象作為參數(shù)傳遞給偵聽器函數(shù)并且event.target.id是空的string,如何獲取被點擊元素的 id?如果我沒有調(diào)用event.persist(),我的所有值都為空,為什么會這樣?sendDisplayType = (event) => {  event.persist();  console.log(event);}<div id="mission" onClick={this.sendDisplayType} className="col l8 m6 left-align nopaddingleft white-space greentext">    <h5> <b>Our Mission</b></h5></div>
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊

如果我沒有調(diào)用 event.persist(),我得到的所有值都是 null,為什么會這樣?


調(diào)用事件回調(diào)后,所有屬性都將被取消。這是出于性能原因。事件池參考


為了得到一個 id,我通常做的就是做一個經(jīng)典的document.getElementById('id').


但是如果你真的想在不調(diào)用事件道具上的函數(shù)的情況下使用事件方式,你可以做的是將 id 傳遞為 data


所以:


<div id="mission" data-id="mission" onClick={this.sendDisplayType} className="col l8 m6 left-align nopaddingleft white-space greentext">

    <h5> <b>Our Mission</b></h5>

</div>

然后得到它:


sendDisplayType = (event) => {

  event.persist();

  console.log(event.target.getAttribute('data-id'));

}

我強(qiáng)烈推薦上面的代碼比較添加箭頭函數(shù),例如:


  <div id="mission" onClick={() => this.sendDisplayType('mission')} />

我通常不使用上面的代碼(在 prop 上調(diào)用函數(shù))因為優(yōu)化(所以如果你有性能問題,盡可能優(yōu)化)


查看完整回答
反對 回復(fù) 2021-10-21
?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗 獲得超16個贊

生成的事件不是dom event,它是react event,您應(yīng)該refdiv標(biāo)簽上設(shè)置以訪問其值,包括 id。


查看完整回答
反對 回復(fù) 2021-10-21
  • 2 回答
  • 0 關(guān)注
  • 270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號