今天主要學習 HTML 語意化標籤和表單的基本用法。
我今天開始接觸一些 React 中常用的資料處理方式。例如使用 filter 篩選出需要保留的資料,這樣就可以完成刪除項目的功能;也學會使用 reduce 將陣列中的金額累加起來,計算目前的總金額。我才發現,原來 JavaScript 已經有很多方法可以幫助我們處理資料,不需要自己寫很多重複的計算。

除此之外,我也問了一些看似基礎,但實際開發時很重要的問題,讓自己的觀念更加扎實。
程式碼的前後順序會影響功能嗎?
在 React 元件中,程式碼通常會按照一定的邏輯來安排。例如先宣告 state、變數等資料,再處理功能函式、資料計算和其他邏輯,最後才安排畫面的 JSX 渲染。
我一開始以為是硬性規定,結果在詢問才知道這不是 React 強制規定的順序,而是一種常見且方便閱讀與維護的寫法。可以把它想成:先準備資料 → 再處理資料 → 最後決定畫面要怎麼呈現。
還有我原本以為 JSX 寫在後面,就代表前面的程式執行完、畫面渲染後就不會再執行。後來才知道,React 元件重新渲染時,元件函式本身會再次執行,因此裡面的變數、計算和 JSX 也會重新執行。
所以真正重要的不是「渲染後面不能放程式碼」,而是不要在元件每次重新渲染時,都執行不必要或會造成無限重複的操作,否則可能造成效能問題,甚至讓 App 卡住。
藉此我更了解 React 的基本運作方式:畫面不是只渲染一次,而是會隨著狀態或資料的變化重新渲染。


Day 3 主要學習 HTML 的結構設計與表單基礎,也開始接觸 filter、reduce 等 JavaScript 資料處理方法,實際應用在記帳 App 的功能上。
除此之外,我也釐清了 React 元件的程式碼結構與重新渲染的概念,了解程式碼的執行不只是單純從上到下跑一次。