Setiap ada error yang terjadi di aplikasi lo, React Router bakal nge-trigger ErrorBoundary yang ada di app/root.tsx.
Lo bisa coba test ini dengan bikin error kayak gini:
Dengan begini, ErrorBoundary yang ada di app/root.tsx bakal di-render.
Kalo seandainya lo rajin dan mau bikin error handling yang lebih spesifik buat setiap route, lo bisa bikin ErrorBoundary di dalam route module itu sendiri.
Variable error di dalam ErrorBoundary ini bisa beda-beda tergantung dari error yang terjadi.
Maka dari itu lo bisa cek tipe error-nya kayak yang udah dicontohin di file app/root.tsx.
Kalo error yang terjadi hasil dari data dengan status code dan text, branch isRouteErrorResponse bakal dipake. Contohnya:
Selain itu, kalo error yang terjadi adalah instance dari Error, branch error instanceof Error bakal dipake. Contohnya:
Kalo lo bikin beberapa ErrorBoundary, React Router bakal nge-render ErrorBoundary yang paling dekat dengan sumber error terjadi.
Misal, kalo ada error di dalam Product component, maka ErrorBoundary yang ada di Product yang bakal di-render.
Kalo nggak ada, maka ErrorBoundary parent-nya yang bakal di-render, sampai ke ErrorBoundary yang ada di app/root.tsx.

Jadilah yang pertama untuk berdiskusi!