Error boundary = một class component cài static getDerivedStateFromError() và/hoặc componentDidCatch(), nó bắt lỗi render của cây con rồi hiện UI dự phòng thay vì làm sập cả app (màn trắng).
Bắt được: lỗi khi render, trong lifecycle, và constructor của các component con.
KHÔNG bắt:
- Lỗi trong event handler (dùng try/catch thường).
- Code bất đồng bộ (setTimeout, callback fetch).
- Lỗi ở SSR.
- Lỗi ném ra từ chính error boundary.
React chưa có bản hook chính thức → thực tế dùng thư viện react-error-boundary. Đặt nhiều boundary theo tầng (route, widget) để cô lập sự cố cục bộ.