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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢索 React.js 元素的 ID

檢索 React.js 元素的 ID

桃花長(zhǎng)相依 2021-10-21 15:13:22
我已經(jīng)設(shè)置了一個(gè)靜態(tài) id 來(lái)響應(yīng)元素,并且將onClick偵聽器設(shè)置為組件,我將事件對(duì)象作為參數(shù)傳遞給偵聽器函數(shù)并且event.target.id是空的string,如何獲取被點(diǎn)擊元素的 id?如果我沒(méi)有調(diào)用event.persist(),我的所有值都為空,為什么會(huì)這樣?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)驗(yàn) 獲得超5個(gè)贊

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


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


為了得到一個(gè) id,我通常做的就是做一個(gè)經(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àn)閮?yōu)化(所以如果你有性能問(wèn)題,盡可能優(yōu)化)


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

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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