import React from 'react'; import { useNavigate, useRouteError } from 'react-router-dom'; import { AlertCircle, Home, RefreshCw } from 'lucide-react'; /** * 路由错误降级组件 * * 用于 React Router 的 errorElement * 当路由加载或渲染出错时显示 */ const ErrorFallback: React.FC = () => { const navigate = useNavigate(); const error = useRouteError() as Error; const handleGoHome = () => { navigate('/', { replace: true }); }; const handleReload = () => { window.location.reload(); }; return (
抱歉,页面在加载过程中出现了问题。请尝试刷新页面或返回首页。
{/* 开发环境显示错误详情 */} {import.meta.env.DEV && error && (错误信息:
{error.message || error.toString()}
{error.stack && (
{error.stack}