React 條件渲染

更新於 發佈於 閱讀時間約 3 分鐘

在 React 中,我們可以利用 JavaScript 的條件運算特性,在 JSX 中根據狀態或 props 的不同,渲染不同內容。

常見的條件渲染方法

if/else 條件分支

可在函式組件內先進行條件判斷,再決定返回哪個元素:

function Greeting({ isLoggedIn = false }) {
if (isLoggedIn) {
return <h1>歡迎回來!</h1>;
}
return <h1>請先登入。</h1>;
}

三元運算子 (Ternary Operator)

直接在 JSX 內使用,適合簡單的條件判斷:

function Greeting({ isLoggedIn = false }) {
return (
<div>
{isLoggedIn ? <h1>歡迎回來!</h1> : <h1>請先登入。</h1>}
</div>
);
}

邏輯與運算子 (Logical &&)

常用於只在條件為真時顯示某部分 UI,如果條件為假則不渲染任何內容(React 會忽略布林值):

function Mailbox({ unreadMessages }) {
return (
<div>
<h1>你好!</h1>
// 底下別忘了要用花括號包裹!!!
{
unreadMessages.length > 0 &&
// 底下程式碼以邏輯上來看一直都是條件為真,所以上面的判斷是關鍵
<h2>你有 {unreadMessages.length} 則未讀郵件。</h2>
}
</div>
);
}

複雜條件處理

  • 多重條件: 當條件較複雜時,可以在組件內定義變數或使用函式來決定要渲染哪個元素,這樣可以讓 JSX 更加乾淨。
  • 條件樣式與屬性: 除了渲染不同的元素,也可以根據條件改變 CSS 類別或屬性,使用條件運算來決定傳入的 classNamestyle

範例如下:

function Button({ isActive = false }) {
const buttonClass = isActive ? 'btn-active' : 'btn-inactive';
return (
<button className={buttonClass}>
{isActive ? '啟用' : '停用'}
</button>
);
}
在當今數位時代,電資領域人才需求爆發式成長,不論是前端網頁設計、嵌入式開發、人工智慧、物聯網還是軟硬體整合,這些技術都在改變世界。而掌握 C/C++、Python、數位邏輯、電路學與嵌入式開發等大學電資領域的課程,正是進入這個高薪、高需求產業的關鍵!
留言
avatar-img
留言分享你的想法!

































































在本章節,我們將探討 React Props,這是 React 組件間 傳遞數據 的核心機制。Props (Properties) 允許父組件將數據傳遞給子組件,使組件變得更具動態性與重用性。 本章將透過 實際範例,讓你深入理解 React Props 的運作方式。
在 React 中,有三種主要方式可以套用 CSS 來設計和美化應用的外觀。每種方式都有不同的適用場景,本文都有詳細介紹:
React(也稱為React.js或ReactJS)是一個自由及開放原始碼的前端JavaScript工具庫,用於基於UI組件構建使用者介面。本章節會帶你初步建立環境並教導如何做使用。
在本章節,我們將探討 React Props,這是 React 組件間 傳遞數據 的核心機制。Props (Properties) 允許父組件將數據傳遞給子組件,使組件變得更具動態性與重用性。 本章將透過 實際範例,讓你深入理解 React Props 的運作方式。
在 React 中,有三種主要方式可以套用 CSS 來設計和美化應用的外觀。每種方式都有不同的適用場景,本文都有詳細介紹:
React(也稱為React.js或ReactJS)是一個自由及開放原始碼的前端JavaScript工具庫,用於基於UI組件構建使用者介面。本章節會帶你初步建立環境並教導如何做使用。
你可能也想看
Google News 追蹤
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
React Hooks 是 React 16.8 中引入的一組新的 API,允許你在函數組件中使用狀態和其他 React 特性,而不需要寫類組件。 狀態管理: useState 鉤子允許在函數組件中添加狀態。 副作用管理: useEffect 鉤子允許處理副作用,如數據獲取、訂閱和手動 DO
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
前言 現在的前端需求已經越來越高,要考慮HTML及CSS的切版美觀程度,以及React以及Flutter所提出的元件(Componet、widget)觀念,也就是將元件模組化,使元件可以更動態的被程式運行,而不用靜態的客製化每一個介面。開發一個好的元件可以提升整體的開發速度,讓任何使用元件的開發者
Thumbnail
React Props - React 白話文運動。這一篇則會針對 React 語法進一步做講解, 前幾篇也學會了如何建立一個 React 元件,並且學會了元件之間有父子元件的關係。這篇會介紹 React Props 的概念,包含了:React 元件宣告、React Props。
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
React Hooks 是 React 16.8 中引入的一組新的 API,允許你在函數組件中使用狀態和其他 React 特性,而不需要寫類組件。 狀態管理: useState 鉤子允許在函數組件中添加狀態。 副作用管理: useEffect 鉤子允許處理副作用,如數據獲取、訂閱和手動 DO
Thumbnail
在程式任何地方都能修改各種react組件狀態的做法分享
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
前言 現在的前端需求已經越來越高,要考慮HTML及CSS的切版美觀程度,以及React以及Flutter所提出的元件(Componet、widget)觀念,也就是將元件模組化,使元件可以更動態的被程式運行,而不用靜態的客製化每一個介面。開發一個好的元件可以提升整體的開發速度,讓任何使用元件的開發者
Thumbnail
React Props - React 白話文運動。這一篇則會針對 React 語法進一步做講解, 前幾篇也學會了如何建立一個 React 元件,並且學會了元件之間有父子元件的關係。這篇會介紹 React Props 的概念,包含了:React 元件宣告、React Props。