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;

错误边界适合类组件

相关推荐
kyriewen14 小时前
折腾了半年 AI 编程工作流,最后发现效率瓶颈是桌上那块屏幕
前端·javascript·ai编程
蜗牛前端15 小时前
codex 全流程开发上线的高颜值礼簿小程序
前端·微信小程序
大龄秃头程序员16 小时前
我在图文流 App 里落地双层缓存、弱网降级与 OOM 治理
前端
老王以为16 小时前
React Renderer 分离的多平台架构
前端·react native·react.js
hunterandroid16 小时前
Kotlin Coroutines 与 Flow:让异步任务更清晰
前端
Bigger16 小时前
从零搭建 AI 代码审查服务:一份前端也能看懂的 Python 学习笔记
前端·ci/cd·ai编程
lichenyang45317 小时前
JSAPI、NAPI、Biz、Imp:ASCF Demo 如何真正调用系统能力和 C++ 能力
前端
lichenyang45317 小时前
IPC、JSVM、UIThread、libuv:ASCF 架构图里最容易混的几个词
前端
用户0595401744617 小时前
Redis记忆存储故障恢复测试踩坑实录:手动测试让我漏掉了2个一致性Bug
前端·css
用户21366100357217 小时前
Vue2脚手架工程化与Axios集成
前端·vue.js