Как добавить обработку ошибок маршрутов (error handling routes)?

Этот вопрос проверяет знание механизмов обработки ошибок в React Router

Короткий ответ

Обработка ошибок в React Router осуществляется через свойство errorElement для маршрута или через глобальный обработчик ошибок на уровне роутера. Ошибки могут быть отображены с помощью компонента ошибки.

Длинный ответ

Использование свойства errorElement:

Добавьте errorElement для отображения страницы ошибок при возникновении проблем.

import { createBrowserRouter, RouterProvider } from 'react-router-dom';

const router = createBrowserRouter([
  {
    path: "/",
    element: <Home />,
    errorElement: <NotFound />,
  },
  {
    path: "/about",
    element: <About />,
  },
]);

const App = () => <RouterProvider router={router} />;

 

Обработка ошибок загрузчиков (loader):

Если в загрузчике данных возникает ошибка, errorElement отображается автоматически.

const loaderWithError = async () => {
  throw new Error("Ошибка загрузки данных");
};

const router = createBrowserRouter([
  {
    path: "/",
    element: <Home />,
    loader: loaderWithError,
    errorElement: <ErrorPage />,
  },
]);

 

Преимущества:

- Централизованная обработка ошибок.

- Улучшение UX за счет отображения понятных сообщений вместо пустых страниц.

Уровень

  • Рейтинг:

    3

  • Сложность:

    7

Навыки

  • React Router

    React Router

Ключевые слова

Подпишись на React Developer в телеграм