最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React條件渲染實(shí)例講解使用

 更新時(shí)間:2022年11月01日 16:54:37   作者:-耿瑞-  
在React中,你可以創(chuàng)建不同的組件來(lái)封裝各種你需要的行為。然后還可以根據(jù)應(yīng)用的狀態(tài)變化只渲染其中的一部分。React 中的條件渲染和JavaScript中的一致,使用JavaScript操作符if或條件運(yùn)算符來(lái)創(chuàng)建表示當(dāng)前狀態(tài)的元素,然后讓React根據(jù)它們來(lái)更新UI

我們先創(chuàng)建一個(gè)用于演示條件渲染的組件

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;

這里我們模擬了一個(gè)登錄和未登錄的情況

首先 我們?cè)趕tate中定義了一個(gè)signIn 這是個(gè)布爾類型的變量 比喻成 他為true 表示用戶已登錄 為false 表示用戶還沒(méi)有登錄

然后 我們?cè)趓ender函數(shù)中定義了一個(gè)ligin變量 他用了三元運(yùn)算符 這里是在判斷 this.state.signIn是不是true

如果為true 則為已登錄 否則 是未登錄

然后 這個(gè)ligin就接受到了結(jié)果 然后我們將他插入在我們的頁(yè)面元素中

運(yùn)行的效果就是這樣

然后我們點(diǎn)一下按鈕

因?yàn)榘粹o的點(diǎn)擊事件會(huì)改變signIn 他的條件改變了 渲染的元素就 不一樣了

然后我們的條件判斷也可以直接寫在頁(yè)面里

我們?cè)趕tate中再加一個(gè)list值

constructor(props){
super(props);
  this.state = {
    signIn: false,
    list: []
  }
}

我們加了一個(gè)list變量 他的值是一個(gè)空數(shù)組

然后我們?cè)趓ender中循環(huán)遍歷這個(gè)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>
  )
}

但大家或許會(huì)發(fā)現(xiàn) 我們的數(shù)組是沒(méi)有值的啊

用戶一看 你這什么都沒(méi)有 是不是出問(wèn)題啦?

這是我們就可以判斷 如果數(shù)組是空的 給用戶一個(gè)提示

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>暫無(wú)數(shù)據(jù)....</div>
     }
     <button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登錄":"登錄" }</button>
   </div>
 )
}

我們這里判斷this.state.list的長(zhǎng)度大于0 我們就循環(huán)渲染 如果是0 那就展示提示 暫無(wú)數(shù)據(jù)…

我們代碼運(yùn)行結(jié)果如下

到此這篇關(guān)于React條件渲染的文章就介紹到這了,更多相關(guān)React條件渲染內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • react-router-dom v6版本實(shí)現(xiàn)Tabs路由緩存切換功能

    react-router-dom v6版本實(shí)現(xiàn)Tabs路由緩存切換功能

    今天有人問(wèn)我怎么實(shí)現(xiàn)React-Router-dom類似標(biāo)簽頁(yè)緩存,很久以前用的是react-router v5那個(gè)比較容易實(shí)現(xiàn),v6變化挺大,但了解react的機(jī)制和react-router的機(jī)制就容易了,本文介紹react-router-dom v6版本實(shí)現(xiàn)Tabs路由緩存切換,感興趣的朋友一起看看吧
    2023-10-10
  • Redux中subscribe的作用及說(shuō)明

    Redux中subscribe的作用及說(shuō)明

    由于redux使用這方面有很多的不解,不是很熟練,所以我查找資料,進(jìn)行一個(gè)總結(jié),希望可以鞏固知識(shí),并且能幫助到需要的人,所以我會(huì)寫的比較清晰簡(jiǎn)單明了點(diǎn),若有不對(duì)之處,請(qǐng)大家糾正
    2023-10-10
  • React?Native?中限制導(dǎo)入某些組件和模塊的方法

    React?Native?中限制導(dǎo)入某些組件和模塊的方法

    這篇文章主要介紹了React?Native?中限制導(dǎo)入某些組件和模塊的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 一文教你如何避免React中常見(jiàn)的8個(gè)錯(cuò)誤

    一文教你如何避免React中常見(jiàn)的8個(gè)錯(cuò)誤

    這篇文章主要來(lái)和大家一起分享在?React?開發(fā)中常見(jiàn)的一些錯(cuò)誤,以及如何避免這些錯(cuò)誤,理解這些問(wèn)題背后的細(xì)節(jié),防止犯下類似的錯(cuò)誤,需要的可以參考下
    2023-12-12
  • React videojs 實(shí)現(xiàn)自定義組件(視頻畫質(zhì)/清晰度切換) 的操作代碼

    React videojs 實(shí)現(xiàn)自定義組件(視頻畫質(zhì)/清晰度切換) 的操作代碼

    最近使用videojs作為視頻處理第三方庫(kù),用來(lái)對(duì)接m3u8視頻類型,這里總結(jié)一下自定義組件遇到的問(wèn)題及實(shí)現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 在react中對(duì)less實(shí)現(xiàn)scoped配置方式

    在react中對(duì)less實(shí)現(xiàn)scoped配置方式

    這篇文章主要介紹了在react中對(duì)less實(shí)現(xiàn)scoped配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • React實(shí)現(xiàn)原生APP切換效果

    React實(shí)現(xiàn)原生APP切換效果

    最近需要使用 Hybrid 的方式開發(fā)一 個(gè) APP,交互和原生 APP 相似并且需要 IM 通信,本文給大家介紹了使用React實(shí)現(xiàn)原生APP切換效果,文中通過(guò)代碼示例講解的非常詳細(xì),感興趣的小伙伴跟著小編一起來(lái)看看吧
    2025-01-01
  • 淺談使用React.setState需要注意的三點(diǎn)

    淺談使用React.setState需要注意的三點(diǎn)

    本篇文章主要介紹了淺談使用React.setState需要注意的三點(diǎn),提出了三點(diǎn)對(duì) React 新手來(lái)說(shuō)是很容易忽略的地方,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 詳解react中useCallback內(nèi)部是如何實(shí)現(xiàn)的

    詳解react中useCallback內(nèi)部是如何實(shí)現(xiàn)的

    前幾天有人在問(wèn)在useCallback函數(shù)如果第二個(gè)參數(shù)為空數(shù)組, 為什么拿不到最新的state值,那么這一章就來(lái)分析一下useCallback內(nèi)部是如何實(shí)現(xiàn)的,感興趣的小伙伴跟著小編一起來(lái)學(xué)習(xí)吧
    2023-07-07
  • ReactJs設(shè)置css樣式的方法

    ReactJs設(shè)置css樣式的方法

    本篇文章主要介紹了ReactJs設(shè)置css樣式的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論

桂阳县| 奈曼旗| 黄陵县| 莱阳市| 嘉义县| 宁强县| 九台市| 洮南市| 永兴县| 侯马市| 含山县| 新龙县| 辽中县| 南阳市| 铜川市| 年辖:市辖区| 丹江口市| 大庆市| 郧西县| 十堰市| 安丘市| 连云港市| 佛山市| 清徐县| 香格里拉县| 龙海市| 长白| 确山县| 海淀区| 平安县| 韶关市| 通渭县| 永城市| 南安市| 紫金县| 张家港市| 格尔木市| 彭州市| 汤阴县| 海城市| 磐安县|