iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
自我挑戰組

程式碼 AI 寫,我負責看懂:30 天拆解 React × TypeScript 系列

這次挑戰將從過去學習過的 JavaScript 與 Vue 經驗出發,重新認識 React 與 TypeScript 的核心概念與開發方式。前期會著重比較新舊技術之間的差異,後期則實際導入 AI 協作,讓 AI 負責產出程式碼,而我負責閱讀、拆解、理解與 Code Review。
比起單純追求「用 AI 完成一個專案」,希望透過這 30 天探索:當 AI 已經能夠協助寫程式時,身為開發者的我們應該理解什麼、判斷什麼,又該如何真正把 AI 產出的 Code 變成自己看得懂的程式碼。

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

Day 11|為什麼 React 不讓我直接改資料?認識 State 更新

Vue 可以直接 push(),React 為什麼不行? 上一篇認識 useState() 時,知道 React 需要透過更新函式改變 State: const...

2026-08-25 ‧ 由 Uni 分享
DAY 12

Day 12|React 事件處理跟 Vue 之間的不同

Vue 的 @click 在 Vue 專案中,可以使用 @click 監聽點擊事件: <button type="button"...

2026-08-26 ‧ 由 Uni 分享
DAY 13

Day 13|Vue 的 watch 到 React 的 useEffect

畫面更新之外,還要執行其他動作 目前 Todo List 中的大部分畫面,都可以直接根據 State 顯示。例如完成數量可以從 todos 計算出來: cons...

2026-08-27 ‧ 由 Uni 分享
DAY 14

Day 14|認識新朋友,進入 TypeScript 的世界!

JavaScript 寫得好好的,為什麼還要使用 TypeScript? 前面幾天在熟悉與理解 React 的同時,也會看到一些這樣子的寫法出現在程式碼中: f...

2026-08-28 ‧ 由 Uni 分享
DAY 15

Day 15|type 是什麼?以前 JavaScript 為什麼不用寫?

型別和 type 是同一件事嗎? 上一篇認識了 string、number、boolean 等型別,不過在 TypeScript 裡,還有一個真的叫作 type...

2026-08-29 ‧ 由 Uni 分享
DAY 16

Day 16|已經有 type,為什麼還需要 interface?

專案裡的 Todo 原來是 interface 上一篇使用 type 描述一筆 Todo 資料: type Todo = { id: number te...

2026-08-30 ‧ 由 Uni 分享
DAY 17

Day 17|string、number 我懂,但跑出一個 string | null 就不懂了

型別中間怎麼多了一條直線? 前面已經認識了 string、number 和 boolean,但閱讀 TypeScript 程式碼時,可能還會看到: string...

2026-08-31 ‧ 由 Uni 分享
DAY 18

Day 18|useState<User> 裡面的 <User>

State 後的尖括號 前面認識 useState() 時,看過這種寫法: const [text, setText] = useState('') 不過當...

2026-09-01 ‧ 由 Uni 分享
DAY 19

Day 19|Props 也要管型別?第一次讓 TypeScript 檢查 Component

Props 傳進去就能用了嗎? 在 Day 07 認識 Props 時,知道外層 Component 可以將資料或函式傳給內層 Component: &lt;T...

2026-09-02 ‧ 由 Uni 分享
DAY 20

Day 20|開始做專案,程式碼交給 AI

從閱讀程式碼進入 AI 協作 前面幾天先透過 Todo List,慢慢認識 React 與 TypeScript 中常見的寫法,例如 Component、Pro...

2026-09-03 ‧ 由 Uni 分享