import { Component, type ReactNode } from "react"; type ErrorBoundaryProps = { children: ReactNode; }; type ErrorBoundaryState = { hasError: boolean; message: string; }; export class ErrorBoundary extends Component { state: ErrorBoundaryState = { hasError: false, message: "", }; static getDerivedStateFromError(error: Error): ErrorBoundaryState { return { hasError: true, message: error.message || "Unknown error", }; } componentDidCatch(error: Error) { console.error(error); } render() { if (this.state.hasError) { return (

页面渲染失败

{this.state.message}

); } return this.props.children; } }