react之错误边界

错误边界实质是指什么

实际上是组件

错误边界捕获什么时候的错误

在渲染阶段的错误

错误边界捕获的是谁的错误

捕获的是子组件的错误

错误边界不能捕获什么错误

1、不能捕获异步代码

2、不能捕获事件处理函数

3、不能捕获服务端渲染

4、不能捕获自身抛出的错误

错误边界代码封装

javascript 复制代码
class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      hasError: false,
    };
  }
  getDerivedStateFromError(error) {
    // 更新 state 使下一次渲染能够显示降级后的 UI
    return { hasError: true };
  }
  componentDidCatch(error, errorInfo) {
    // 你同样可以将错误日志上报给服务器
    logErrorToService(error, errorInfo);
  }
  render() {
    if (this.state.hasError) {
      // 你可以自定义降级后的 UI 并渲染
      return <h1>wrong message</h1>;
    }
    return this.props.children;
  }
}

export default ErrorBoundary;

错误边界适合类组件

相关推荐
甲维斯7 小时前
测一波Kimi K2.7,消耗一周配额!
前端·人工智能·游戏开发
Dick5077 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人
英勇无比的消炎药7 小时前
一站式汇总TinyVue工具案例与真实落地经验
vue.js·前端框架
xiaofeichaichai8 小时前
前端安全 XSS 与 CSRF
前端·安全·xss
JS菌8 小时前
Skills 动态加载系统:让 AI Agent 按需获取领域知识
前端·人工智能·后端
weedsfly8 小时前
Sass 代码复用完全指南:从变量到模块化
前端
张拭心8 小时前
Android 17 新特性:后台音频交互限制加强
android·前端
张拭心8 小时前
Android 17 新特性:ProfilingManager 新触发器
android·前端
weixin_471383038 小时前
Taro-03-页面生命周期
前端·javascript·taro