簡體   English   中英

沒有來自 api 的條件渲染,React 不會顯示

[英]React doesn't display without conditional rendering from api

當我從 api 獲取數據時,為什么組件不呈現/顯示任何內容? 下面的代碼只是給了我一個空白頁

 render(){
    return (
      <div>
        <p>{this.state.character[0]}</p>
      </div>
    )
  }

但是當我進行一些條件渲染時,它會顯示數據。

 render(){
    return (
      <div>
        {<p>{this.state.character? this.state.character[0] : null}</p>}
      </div>
    )
  }

來自 API 的數據加載需要時間,因此第一個代碼沒有任何數據,因為來自 API 的請求未完成。 您無法訪問其中沒有任何內容的索引。 所以條件基本上是使其安全顯示。

你是如何獲取數據的? 希望在componentDidMount()中。 componentDidMount()render()之后運行,這意味着,當組件第一次加載/掛載時,沒有數據。 數據被接收,然后在安裝組件后添加到 state

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM