簡體   English   中英

ReactJs:如何在渲染方法中使用地圖函數處理空數組

[英]ReactJs: How to handle empty array with map function inside render method

我正在嘗試使用一些 JSON 數據打印表,但是在使用 map 方法時無法呈現空數組。

JSON 數據:

 [{ "id": 6, "firstname": "Sharon", "lastname": "Jenkins", "specialties": [] }, { "id": 2, "firstname": "Helen", "lastname": "Leary", "specialties": [{ "id": 1, "name": "radiology" }] }, { "id": 4, "firstname": "Rafael", "lastname": "Ortega", "specialties": [{ "id": 2, "name": "surgery" }] }, { "id": 5, "firstname": "Henry", "lastname": "Stevens", "specialties": [{ "id": 1, "name": "radiology" }] }]

我的代碼:

 {this.state.vets.map(vet =><tr><td>{vet.firstname}</td> { vet.specialties.map((subitem,i) => { return <td>{subitem.name}</td> })}<td>EDIT</td><td id={vet.firstname}><div class="funkyradio">

現在我收到以下錯誤在此處輸入圖片說明

由於 Sharon 沒有專家,我需要打印為 N/A。

如何檢查專業為空並打印 N/A。

像這樣使用條件語句

{ this.state.vets.length > 0 
 ? this.state.vets.map(()=>Your logic)
 : <Your custom message/>
}

嘗試始終渲染 TD 標簽,例如:

{
  this.state.vets.map(vet =>
    <tr>
      <td>{vet.firstname}</td>
        <td>                
          {vet.specialties.map((subitem,i) => {
            return <span>{subitem.name}</span>
          })}
        </td>
        <td>EDIT</td>
        <td id={vet.firstname}>
          <div class="funkyradio">

 <table> {dataJSON.map(({ id, firstname, lastname, specialties }) => { return ( <tr> <td> {`${firstname} ${lastname}`} </td> <td> {specialties.map(specialty => specialty.name).join(",")} </td> <td> <span> EDIT </span> </td> </tr> ); })} </table>

主要是為了可讀性,而不是使用 object 屬性,我將創建一個單獨的函數,該函數將返回特殊性(如果有),否則 N/A

暫無
暫無

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

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