Skip to content

Error Boundary

錯誤邊界

01你是不是遇到這個 / THE SYMPTOM

我的 React 網頁只要有一個小元件出錯(比如某筆資料是 null 害它爆掉),整個頁面就變一片白屏、什麼都不見了。我想讓出錯的那一塊改顯示「這裡載入失敗」之類的提示,其他正常部分繼續顯示,不要整頁掛掉。

↑ 如果你點頭了,你要的關鍵字就是 Error Boundary

02這是什麼 / DEFINITION

React 的一種元件機制:用一個特殊元件包住子樹,當子樹在渲染時丟出錯誤,它會「攔截」住、改顯示備援畫面(fallback UI),而不是讓整個 App 崩潰白屏。

03什麼時候用 / WHEN TO USE

想把渲染期的崩潰隔離在局部、避免整頁白屏時;想在某區塊出錯時顯示友善提示或重試按鈕、並把錯誤回報到監控時。常包在路由、儀表板小工具、第三方元件外層。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

幫我加一個 React error boundary 包住這個元件,出錯時顯示一個 fallback 畫面(含重試按鈕),不要讓整頁白屏,並把錯誤 log 出來。
05常見坑 / WATCH OUT

error boundary 只攔「渲染期」的錯誤;事件處理函式(onClick 裡)、非同步 await、setTimeout 裡的錯誤它抓不到,那些要用 try/catch。實務上多直接用 react-error-boundary 套件,比自己手寫 class 元件方便。

06相關的詞 / RELATED