iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Modern Web

關於 UI 元件你所該知道的事 系列

遙想剛入行前端時,對於網頁中有哪些約定俗成的 UI 元件都沒有概念,實作就都是在亂寫!
但年初時跟著公司開發了一套 UI 元件庫,深刻感受到寫好一個 UI 元件所需要的觀念跟細節,像是 Design System、元件們的分類、彼此的依賴關係、UI 元件功能跟情境的區分、 前端開發架構 以及 使用上如何因應各種情境去更新、改版等等。
因此,這系列會以觀念為主,實作為輔。希望讓初踏入網頁開發領域的新手能對 UI 元件有基礎的認識和開發的架構,而已有經驗的老手能透過這系列更理解 UI 元件在網頁中所扮演的角色 ,注意到更多在開發上的小細節!
這 30 天跟著我一起來深度探索 UI 元件 吧!

鐵人鍊成 | 共 30 篇文章 | 26 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 - 實戰演練 — Button / ButtonGroup / IconButton

從今天起到結賽都會是實戰演練的環節了! 接下來的日子真槍實彈、彈無虛發,帶大家從理論走向實踐,把一些基本的元件實作出來吧! 這篇章會怎麼實作? 老樣子我的風格...

DAY 22

Day 22 - 實戰演練 — Portal 系列

實作第二篇要來介紹的是 Portal 系列的實作,會一路從 Portal 實作到 Popconfirm,Overlay、Modal 就等之後有機會再做了! 開...

DAY 23

Day 23 - 實戰演練 — TextField

今天要實作的是 TextField ,雖然是參照 Material-UI 的概念,但在這邊只是實作個外殼,必沒有要像 Material 那樣 Input 和...

DAY 24

Day 24 - 實戰演練 — FormControl

之前有講到非 input-like 的表單情境也需要處理,這時候就是 FormControl 出場的時候了,但其實也不代表 Input-like 的元件不能用...

DAY 25

Day 25 - 實戰演練 — Input

在 Input 需要預處理的主要就是 React 的 control & unControl,於是也在這簡介一下兩者的差別: Uncontrolled...

DAY 26

Day 26 - 實戰演練 — Notifier 、Notification

想先看 Code 或是 Demo 的由此去 Github Repo: ithelp-ui-demo/Notifier Live Demo:** Notific...

DAY 27

Day 27 - 實戰演練 — Tabs

想先看 Code 或是 Demo 的由此去 Github Repo: ithelp-ui-demo Live Demo:** Tabs** Tabs 這邊整個...

DAY 28

Day 28 - 實戰演練 — Pagination

Pagination 今天要實作的只是一個最基本的 Pagination,而我個人覺得在處理換頁時維持固定長度的邏輯挺有趣的,所以特別在最後一篇實作拿出來講...

DAY 29

Day 29 - 實戰演練 — 元件單元測試

測試會用到的工具是 React Testing Library,後續對元件有改動時也可以使用 Snapshot testing。 基本上測試撰寫的 SOP 就...

DAY 30

Day 30 - 結語 — 首尾呼應&致謝

最後一篇來個首尾呼應,回答在 Day 01 問大家的七個關於 UI 元件的問題! 你知道 為什麼會有 UI LibraryA:讓我們可以不用再自己造輪子,...