亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在 ReactJS 中使用 this 動態變量名

在 ReactJS 中使用 this 動態變量名

繁星淼淼 2023-09-28 16:38:01
我想為 40 個 div 創建多個引用而不使用React.createRef(). 但我無法為我的引用創建動態變量名稱。我正在使用下面的代碼來創建參考。const displayXmasTreeParts = () => Array(40).fill().map((el, index) => (  <div className={`xmasTreePart${randomClass}`} key={`part${index}`}      ref={el => [this.el`${index}`] = el}/>);const handleClick = () => this.el5.classList.add(`new-class`);render() {  return (    <div className="xmasTree">      {this.displayXmasTreeParts()}    </div>    <button className="SetUpTree" onClick={this.handleClick}>Click here to reveal Our Xmas Tree</button>)}我也嘗試過這個ref={el => `this.el${index}` = el}但Invalid left-hand side in assignment expression在這兩種情況下都會出現此錯誤。
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

怎么樣

ref={el => {this["el"+index] = el}}/>


查看完整回答
反對 回復 2023-09-28
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

你需要將引用存儲在數組中


class Component {

    

    let _refs = [];

    

    displayXmasTreeParts = () => Array(40).fill().map((el, index) => {

    

        _refs = [];

    

        return (

           <div className={`xmasTreePart${randomClass}`} key={`part${index}`} 

                ref={el => _refs.push(el)}/>

           );

    }

    

    

    ...


    

}


查看完整回答
反對 回復 2023-09-28
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號