import React from 'react'; import { Button, Card, Space } from 'antd'; import ErrorBoundary from '../components/ErrorBoundary'; // 测试用的会抛出错误的组件 const BrokenComponent = () => { throw new Error('这是一个测试错误!'); }; // 测试用的会抛出错误的类组件 class BrokenClassComponent extends React.Component { render() { throw new Error('这是一个类组件的测试错误!'); } } // 测试用的正常组件 const NormalComponent = () => (

✅ 正常组件

这个组件正常渲染,没有错误

); function ErrorBoundaryTest() { const [showError, setShowError] = React.useState(false); const handleError = (error, errorInfo) => { console.error('错误边界捕获到错误:', error, errorInfo); }; return (

🧪 错误边界测试页面

用于测试 React 错误边界(Error Boundary)功能,确保单个组件错误不会导致整个页面崩溃

这个测试会触发整个应用级别的错误边界(在 main.jsx 中定义)

这个测试会触发页面级别的错误边界

{showError && }

⚠️ 自定义错误提示

这是自定义的 fallback UI,当组件出错时会显示这个界面

} >

验证错误边界只影响出错的组件,不影响其他组件

模拟 3D 场景加载失败的情况

); } export default ErrorBoundaryTest;