簡體   English   中英

如何在 React 中進行嵌套條件渲染?

[英]How to do nested conditional rendering in React?

由於我正在從事的項目中角色/身份驗證的工作方式,我以前沒有遇到過這種情況。 登錄時,代碼返回用戶只是用戶還是管理員並呈現適當的組件,但如果用戶是管理員,我需要有條件地評估 API 調用返回和有人搜索時的類別類型。 從盒子返回的數據將在組件中呈現。 共有三種數據類型:用戶、組、帳戶,這些類別值是從 state 檢索到的,每個 API 調用返回類型。 (用戶、組、帳戶)必須為 3 個返回數據負載中的每一個呈現不同的布局。

此外,JSX 頁面中的條件渲染可能不是解決此問題的合適方法,請隨意提出一種完全(並且希望更優雅)的方式來做這樣的事情?

{isAdmin &&
  {isCategory === 'user'
     <User />
  }
  {isCategory === 'group'
     <Group />
  }
  {isCategory === 'account'
      <Account />
  }
}
 
{isUser &&
  <User />
}

也許更清晰的方法是創建渲染 function

const renderAdmin = () => {
  switch(isCategory) {
    case 'user':
      return <User />
    case 'group':
      return <Group />
    case 'account':
      return <Account />
    default:
      return null;
  }
}

然后在渲染中

  <>
    {isUser &&  <User />}
    {isAdmin && renderAdmin()}
  </>

暫無
暫無

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

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