useRouteError
在 errorElement
中,这个钩子函数会返回在 action、loader 或渲染过程中抛出的任何异常。请注意,抛出的响应会进行特殊处理,请参阅 isRouteErrorResponse
获取更多信息。
function ErrorBoundary() {
const error = useRouteError();
console.error(error);
return <div>{error.message}</div>;
}
<Route
errorElement={<ErrorBoundary />}
loader={() => {
// unexpected errors in loaders/actions
something.that.breaks();
}}
action={() => {
// stuff you throw on purpose in loaders/actions
throw new Response("Bad Request", { status: 400 });
}}
element={
// and errors thrown while rendering
<div>{breaks.while.rendering}</div>
}
/>;