Error Handling

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:

app/routes/product.tsx

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.

app/routes/product.tsx

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.

app/root.tsx

Kalo error yang terjadi hasil dari data dengan status code dan text, branch isRouteErrorResponse bakal dipake. Contohnya:

app/routes/product.tsx

Selain itu, kalo error yang terjadi adalah instance dari Error, branch error instanceof Error bakal dipake. Contohnya:

app/routes/product.tsx

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.


Kamu Menyelesaikan Pelajaran Ini

Login untuk menyimpan progres belajarmu.


Kamu stuck? Ajukan pertanyaan!

Kolom ini hanya untuk pertanyaan terkait masalah yang mungkin kamu temui, tidak untuk yang lain.

Login untuk berkomentar 🔒

Markdown