useRouteError

useRouteError() Hook 主要用在errorElement指定的组件中,用来捕获其他组件或者loader方法、action方法中抛出的异常。这个 Hook 的使用非常简单,调用以后就直接返回抛出的异常本身。

例如课传说下例一样定义错误边界。

function ErrorCatcher() {
  const err = useRouteError();

  console.error(err);

  return <div>{err.message}</div>;
}

const router = createBrowserRoute([
  {
    path: "/",
    errorElement: <ErrorCatcher />,
    loader: async () => await getData(),
    element: <Root />,
  },
]);