欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

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

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

我們在state中再加一個(gè)list值

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

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

然后我們在render中循環(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ù)組是沒有值的啊

用戶一看 你這什么都沒有 是不是出問題啦?

這是我們就可以判斷 如果數(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>暫無數(shù)據(jù)....</div>
     }
     <button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登錄":"登錄" }</button>
   </div>
 )
}

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

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

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

相關(guān)文章

  • 詳解各版本React路由的跳轉(zhuǎn)的方法

    詳解各版本React路由的跳轉(zhuǎn)的方法

    這篇文章主要介紹了詳解各版本React路由的跳轉(zhuǎn)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • React-Native使用Mobx實(shí)現(xiàn)購物車功能

    React-Native使用Mobx實(shí)現(xiàn)購物車功能

    本篇文章主要介紹了React-Native使用Mobx實(shí)現(xiàn)購物車功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • react-redux中connect的裝飾器用法@connect詳解

    react-redux中connect的裝飾器用法@connect詳解

    這篇文章主要介紹了react-redux中connect的裝飾器用法@connect詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • react如何實(shí)現(xiàn)一個(gè)密碼強(qiáng)度檢測器詳解

    react如何實(shí)現(xiàn)一個(gè)密碼強(qiáng)度檢測器詳解

    這篇文章主要給大家介紹了關(guān)于react如何實(shí)現(xiàn)一個(gè)密碼強(qiáng)度檢測器的相關(guān)資料,使用這個(gè)密碼強(qiáng)度器后可以幫助大家提高在線帳號、個(gè)人信息的安全性,需要的朋友可以參考下
    2021-06-06
  • react-native-fs實(shí)現(xiàn)文件下載、文本存儲(chǔ)的示例代碼

    react-native-fs實(shí)現(xiàn)文件下載、文本存儲(chǔ)的示例代碼

    本篇文章主要介紹了react-native-fs實(shí)現(xiàn)文件下載、文本存儲(chǔ)的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解下
    2017-09-09
  • React中路由的參數(shù)傳遞路由的配置文件詳解

    React中路由的參數(shù)傳遞路由的配置文件詳解

    路由的配置文件目前我們所有的路由定義都是直接使用Route組件,并且添加屬性來完成的,路由的參數(shù)傳遞有二種方式這,兩種方式在Router6.x中都是提供的hook函數(shù)的API,?類組件需要通過高階組件的方式使用,本文通過示例代碼詳解講解,需要的朋友參考下吧
    2022-11-11
  • React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法

    React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法

    今天講一下如何實(shí)現(xiàn)自定義標(biāo)題欄組件,我們都知道RN有一個(gè)優(yōu)點(diǎn)就是可以組件化,在需要使用該組件的地方直接引用并傳遞一些參數(shù)就可以了,這種方式確實(shí)提高了開發(fā)效率。對React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法感興趣的朋友參考下
    2017-01-01
  • React合成事件原理解析

    React合成事件原理解析

    事件是在編程時(shí)系統(tǒng)內(nèi)發(fā)生的動(dòng)作或者發(fā)生的事情,而開發(fā)者可以某種方式對事件做出回應(yīng),而這里有幾個(gè)先決條件,這篇文章主要介紹了React合成事件原理解析,需要的朋友可以參考下
    2022-07-07
  • React使用useImperativeHandle自定義暴露給父組件的示例詳解

    React使用useImperativeHandle自定義暴露給父組件的示例詳解

    useImperativeHandle?是?React?提供的一個(gè)自定義?Hook,用于在函數(shù)組件中顯式地暴露給父組件特定實(shí)例的方法,本文將介紹?useImperativeHandle的基本用法、常見應(yīng)用場景,需要的可以參考下
    2024-03-03
  • 使用react-dnd編寫一個(gè)可拖拽排列的list

    使用react-dnd編寫一個(gè)可拖拽排列的list

    這篇文章主要為大家詳細(xì)介紹了如何使用react-dnd編寫一個(gè)可拖拽排列的list,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03

最新評論