您好,登錄后才能下訂單哦!
這篇文章主要介紹“React條件渲染如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“React條件渲染如何使用”文章能幫助大家解決問題。
我們先創建一個用于演示條件渲染的組件
import './App.css'; import React from "react"; class App extends React.Component{ constructor(props){ super(props); this.state = { signIn: false } } increase(){ this.setState({ signIn: !this.state.signIn }) } render(){ let ligin = this.state.signIn?<span>已登錄</span>:<span>未登錄</span> return ( <div className="App"> { ligin } <button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登錄":"登錄" }</button> </div> ) } } export default App;
這里我們模擬了一個登錄和未登錄的情況
首先 我們在state中定義了一個signIn 這是個布爾類型的變量 比喻成 他為true 表示用戶已登錄 為false 表示用戶還沒有登錄
然后 我們在render函數中定義了一個ligin變量 他用了三元運算符 這里是在判斷 this.state.signIn是不是true
如果為true 則為已登錄 否則 是未登錄
然后 這個ligin就接受到了結果 然后我們將他插入在我們的頁面元素中
運行的效果就是這樣
然后我們點一下按鈕
因為按鈕的點擊事件會改變signIn 他的條件改變了 渲染的元素就 不一樣了
然后我們的條件判斷也可以直接寫在頁面里
我們在state中再加一個list值
constructor(props){ super(props); this.state = { signIn: false, list: [] } }
我們加了一個list變量 他的值是一個空數組
然后我們在render中循環遍歷這個list
render(){ let ligin = this.state.signIn?<span>已登錄</span>:<span>未登錄</span> return ( <div className="App"> { ligin } <div> { this.state.list.map((item,index) =>{ return <p key = {index}>{ item }</p> }) } </div> <button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登錄":"登錄" }</button> </div> ) }
但大家或許會發現 我們的數組是沒有值的啊
用戶一看 你這什么都沒有 是不是出問題啦?
這是我們就可以判斷 如果數組是空的 給用戶一個提示
render(){ let ligin = this.state.signIn?<span>已登錄</span>:<span>未登錄</span> return ( <div className="App"> { ligin } { this.state.list.length > 0? <div> { this.state.list.map((item,index) =>{ return <p key = {index}>{ item }</p> }) } </div> : <div>暫無數據....</div> } <button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登錄":"登錄" }</button> </div> ) }
我們這里判斷this.state.list的長度大于0 我們就循環渲染 如果是0 那就展示提示 暫無數據…
我們代碼運行結果如下
關于“React條件渲染如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。