站長資訊網
        最全最豐富的資訊網站

        react怎么根據條件隱藏元素

        實現方法:1、通過state變量來控制是否渲染元素,如果值為false則內容是直接不會渲染的;2、通過style控制display屬性,當屬性值為none時隱藏元素;3、通過className動態切換hide來實現元素的顯示和隱藏。

        react怎么根據條件隱藏元素

        本教程操作環境:Windows7系統、react18版、Dell G3電腦。

        React控制元素顯示和隱藏的方法有三種方法:

        • 第一種是通過state變量來控制是否渲染元素,類似vue中的v-if。

        • 第二種是通過style控制display屬性,類似vue 中的v-show。

        • 第三種是通過動態切換className

        方法一:

        第一種方法是通過此例中showElem變量來控制是否加載元素的,如果showElem為false,內容是直接不會渲染的。

        class Demo extends React.Component{     constructor(props){         super(props);         this.state = {             showElem:true         }     }     render(){         return (             <div>                 {                     this.state.showElem?(                         <div>顯示的元素</div>                     ):null                 }             </div>         )     } }
        登錄后復制

        方法二:

        這個方法很簡單,就是通過display屬性來控制元素顯示和隱藏。

        class Demo extends React.Component{     constructor(props){         super(props);         this.state = {             showElem:'none'         }     }     render(){         return (             <div style={{display:this.state.showElem}}>顯示的元素</div>         )     } }
        登錄后復制

        方法三:

        通過className切換hide來實現元素的顯示和隱藏。

        class Demo extends React.Component{     constructor(props){         super(props);         this.state = {             showElem:true         }     }     render(){         return (             <div>                 {/* 寫法一 */}                 <div className={this.state.showElem?'word-style':'word-style hide'}>顯示的元素</div>                 {/* 寫法二 */}                 <div className={`${this.state.showElem?'':'hide'} word-style`}>顯示的元素</div>             </div>         )     } }
        登錄后復制

        方法一不適合頻繁控制顯示隱藏的情況,因為他會重新渲染元素,比較耗費性能。在這種情況下,第二種或者第三種通過display來控制會更合理。

        方法一適合安全性高的頁面,比如用戶信息頁面,根據不同的用戶級別顯示不一樣的內容,這時候如果你用方法一或者方法二的話,用戶如果打開network還是可以看見,因為頁面還是渲染了,只是隱藏了而已。而方法一是直接不渲染用戶信息的DOM元素,保證了安全性。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 无码精品人妻一区二区三区AV| 亚洲国产精品专区在线观看| 中文精品无码中文字幕无码专区| 日韩精品人妻av一区二区三区| 国产精品无码久久综合| 91视频国产精品| 国产精品福利在线观看免费不卡| 狠狠色伊人久久精品综合网 | 欧美XXXX黑人又粗又长精品| 亚洲av无码成人精品区| 91精品国产高清久久久久久91 | 亚洲一二成人精品区| 91人前露出精品国产| 精品午夜福利在线观看| 国产欧美久久久精品| 国产精品亚洲αv天堂无码| 亚洲欧美精品午睡沙发| 国产亚洲精品精华液| www夜片内射视频日韩精品成人| 久热精品人妻视频| 精品久久久久久久无码| 亚洲福利精品电影在线观看| 国产欧美在线观看精品一区二区 | 全国精品一区二区在线观看| 国产精品婷婷午夜在线观看| 99久久精品免费看国产| 亚洲精品高清久久| 久久成人国产精品二三区| 免费人妻精品一区二区三区| 国产精品理论片在线观看| 97久久精品人人澡人人爽| 亚洲国产精品成| 久久国产精品99精品国产987| 国产AV无码专区亚洲精品 | 亚洲国产精品乱码一区二区| 色播精品免费小视频| 国产91久久精品一区二区| 国产欧美日韩精品丝袜高跟鞋| 无码精品人妻一区二区三区漫画| 亚洲国产精品久久久久婷婷软件 | 99在线精品视频|