在前面幾天中,我們從底層的 Fiber 架構、Hooks 原理一路探討到現代的 SSR 與狀態管理。今天前端效能優化的核心方法論:拒絕盲目優化,擁抱數據驅動,並掌握 React 效能微調的五大絕招!
在動手修改程式碼之前,永遠要記住一條金句:「過早的優化是萬惡之源 (Premature optimization is the root of all evil)。」
切勿憑感覺猜測哪裡慢,請愛用 React DevTools Profiler:
Flamegraph(火焰圖):檢視每一次 Re-render 耗費的時間與渲染頻率。
"Why did this render?" 勾選框:精準揪出到底是哪個 Prop 改變、State 變更或 Context 觸發了無謂的重繪。
當透過 Profiler 鎖定效能瓶頸(如巨量列表卡頓、複雜運算阻塞主線程)時,可以依序套用以下五大優化策略:
組件架構重構與狀態下放 (Component Composition)
原理:將高頻變動的狀態(如 input 輸入值、計時器)隔離在最小的子組件中,避免一動全動。
進階手法:善用 Content Lifting (children prop),讓上層組件在內部狀態改變時,不影響包裹在內部的子組件重新渲染。
精準攔截重繪 (React.memo + useCallback)
虛擬列表 (Windowing / Virtualization)
程式碼分割與動態載入 (React.lazy + Suspense)
善用 Concurrent Hooks 釋放主線程 (useTransition)