react怎么根據條件隱藏元素-觀速訊

          來源:php中文網 | 2022-12-27 19:00:49 |

          本教程操作環境: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元素,保證了安全性。

          以上就是react怎么根據條件隱藏元素的詳細內容,更多請關注php中文網其它相關文章!

          關鍵詞: React

          亚洲成人高清在线观看| 亚洲高清无在码在线电影不卡| 国产亚洲综合一区柠檬导航| 亚洲成a人片在线看| 亚洲成AV人片在WWW色猫咪| 久久亚洲国产精品123区| 亚洲成?v人片天堂网无码| 亚洲av日韩aⅴ无码色老头| 亚洲国产成人精品无码区在线网站 | 日韩亚洲欧洲在线com91tv| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲影院天堂中文av色| 亚洲精品美女久久久久9999| 国产亚洲综合一区柠檬导航| 亚洲日产韩国一二三四区| 高清在线亚洲精品国产二区| 亚洲av无码一区二区三区天堂古代 | 亚洲精品在线免费看| 亚洲va在线va天堂va四虎| 亚洲成在人线av| 日韩亚洲变态另类中文| jizzjizz亚洲| 亚洲AV网一区二区三区| 亚洲熟妇无码一区二区三区| 亚洲av片不卡无码久久| 亚洲精品在线免费观看视频| 777亚洲精品乱码久久久久久 | 亚洲成人黄色在线| 亚洲成人免费在线观看| 久久久久亚洲精品无码蜜桃| 亚洲2022国产成人精品无码区| 亚洲精品无码专区在线在线播放| 亚洲色偷偷狠狠综合网| 亚洲中文无韩国r级电影| 亚洲福利中文字幕在线网址| vvvv99日韩精品亚洲| 国产亚洲精彩视频| 亚洲高清无码在线观看| 亚洲线精品一区二区三区影音先锋| 国产∨亚洲V天堂无码久久久| 亚洲黄色片在线观看|