iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0

如果以下面的圖片來作爲參考去說React的應用的話會是什麽呢?

https://ithelp.ithome.com.tw/upload/images/20251008/20168629Wbo1DFlO1Q.png

React 結構原理簡介

你提供的每張截圖都是一個獨立的 React 元件檔案,例如 Header.jsx、Hero.jsx 等。每個元件都代表頁面中的一個 UI 區塊,運用 **函式式元件(Function Component)**的寫法、React 語法(JSX)、和 Tailwind CSS 進行樣式設定。

下面我簡要分析每張圖片的 React 結構設計原理:

  1. Header.jsx
    作用:頁面最上方導覽列,包含網站主標題和導覽連結。

    組成:外層 包覆一個內容容器 ,內有站名 和 列表( 形式),每個 是一個導覽連結。

    原理:直接 JSX 描述結構,動態類名控制樣式(如 hover 效果),不帶任何 props 或狀態管理。

  2. Hero.jsx
    作用:首頁主視覺區塊,強調標語加搜尋功能。

    組成:外層 及內容 ,用 顯示主標語, 說明文字,底下有一個 (搜尋欄)和 (搜尋按鈕)。

    原理:同樣是純 JSX、函式式元件。不含 props,也沒用到 React 狀態(state),偏展示性。

  3. WhyChooseUs.jsx
    作用:介紹網站優勢理由區。

    組成:定義一個 reasons 陣列,每個物件有標題、描述與 icon。以 包住內容、 容器、 標題。接著用可能的 .map() 方式將理由渲染出來(程式片段沒完全顯示)。

    原理:資料結構和 UI 展現分離,未來方便改內容或搬資料。用陣列驅動 UI 是 React 常見 pattern。

  4. FeaturedDestinations.jsx
    作用:主打目的地精選展示區。

    組成:相似設計,先定義 destinations 陣列,每筆資料有 name、image、description。用 、內容容器 、標題 ,然後將目的地列表渲染(map)。圖片路徑用外部網址串。

    原理:資料驅動式 UI,保持資料和元件分離,方便資料維護。

  5. Footer.jsx
    作用:頁尾資訊,包括版權聲明與下方導覽連結。

    組成:外層 、內容 ,有版權訊息 ,和 型式列出頁尾連結。

    原理:和 Header 相同,全靜態展示,不帶 props 或 state,也沒呈現動態內容。

小結

各元件都用 函式式元件(Function Component)、JSX 描述 UI,結構清楚。

樣式靠 Tailwind CSS 寫在 className 字串裡,無外部 CSS-in-JS 或 styled-components。

資料分離(WhyChooseUs, FeaturedDestinations)讓 UI 元件易於維護、可重用。


上一篇
day 23
系列文
玩Switch 2 不如 玩Stitch Lab:用 Stitch 加速你的網頁開發24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言