react上增加错误边界 当存在错误时 不会显示白屏

server/2025/1/24 0:22:15/

react上增加错误边界 当存在错误时 不会显示白屏

定义:错误边界是一个 React 组件,它会在其子组件树中的任何位置捕获 JavaScript 错误,并显示一个备用的 UI 而不是崩溃的组件树

在总项目的组件中创建文件:

src/components/ErrorBoundary.tsx

// src/components/ErrorBoundary.tsx
import React, { Component } from 'react';interface ErrorBoundaryProps {children: React.ReactNode;
}interface ErrorBoundaryState {hasError: boolean;
}class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {constructor(props: ErrorBoundaryProps) {super(props);this.state = { hasError: false };}static getDerivedStateFromError(error: Error) {// 更新 state 使下一次渲染能够显示降级后的 UIreturn { hasError: true };}componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {// 你也可以将错误日志上报给服务器console.error("Caught an error:", error, errorInfo);}render() {if (this.state.hasError) {// 你可以自定义降级后的 UIreturn <h1>Something went wrong.</h1>;}return this.props.children; }
}export default ErrorBoundary;

在要使用的组件位置上加:

//引入错误边界组件
import ErrorBoundary from '@/components/ErrorBoundary' 
//使用:
<KeepAlive id={meta?.keepAlive}><Loading><ErrorBoundary>{Component}</ErrorBoundary> {/* 使用错误边界 */}</Loading></KeepAlive>//在要加的位置包裹住即可

报错时显示,可以自定义内容:
在这里插入图片描述


http://www.ppmy.cn/server/160885.html

相关文章

adb常用指令(完整版)

1、adb devices 查看是否连接到设备 2、adb install [-r] [-s] 安装app&#xff0c;-r强制&#xff0c;-s安装sd卡上 3、adb uninstall [-k] 卸载app&#xff0c;-k保留配置和参数 4、adb push 把本地文件上传设备 5、adb pull 下载文件到本地 6、cd D:\sdk\platform-tool…

ASP.NET Core--依赖注入(DI)--在ASP.NET Core中使用依赖注入

一、在ASP.NET Core中实现依赖注入 1.1 配置依赖注入 在ASP.NET Core中实现依赖注入的第一步是配置依赖注入。ASP.NET Core使用了一个称为依赖注入容器&#xff08;DI Container&#xff09;的组件来管理对象之间的依赖关系。DI容器在应用程序启动时被配置&#xff0c;并且可…

深度学习系列75:sql大模型工具vanna

1. 概述 vanna是一个可以将自然语言转为sql的工具。简单的demo如下&#xff1a; !pip install vanna import vanna from vanna.remote import VannaDefault vn VannaDefault(modelchinook, api_keyvanna.get_api_key(my-emailexample.com)) vn.connect_to_sqlite(https://va…

基于.Net Core+Vue的文件加密系统

1系统架构图 2 用例图 管理员角色的用例&#xff1a; 文件分享大厅&#xff1a;管理员可以访问文件分享大厅&#xff0c;下载文件。个人信息管理&#xff1a;管理员可以更新自己的个人信息&#xff0c;修改密码。用户管理&#xff1a;管理员负责创建、更新或删除用户账户&…

CSS语言的学习路线

CSS语言的学习路线 CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;是网页设计和开发中不可或缺的一部分。它主要用于控制网页的视觉表现&#xff0c;通过选择器、属性和样式规则&#xff0c;将HTML结构与其设计分离&#xff0c;从而实现更灵活的设…

AIGC时代:如何快速搞定Spring Boot+Vue全栈开发

文章目录 一、Spring Boot基础二、Vue.js基础三、Spring Boot与Vue.js集成四、性能优化与最佳实践《快速搞定Spring BootVue全栈开发》 内容简介作者简介目录前言/序言本书内容本书特点读者对象 随着人工智能生成内容&#xff08;AIGC&#xff09;技术的迅速发展&#xff0c;…

OpenCV相机标定与3D重建(65)对图像点进行去畸变处理函数undistortPoints()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从观测到的点坐标计算理想点坐标。 该函数类似于 undistort 和 initUndistortRectifyMap&#xff0c;但它操作的是稀疏点集而不是光栅图像。此外…

如何下载对应城市的地理json文件

这里采用的是阿里地图工具进行查找&#xff1a; DataV.GeoAtlas地理小工具系列 由阿里云DataV数据可视化团队出品,多年深耕数据可视化领域,数据大屏业务开拓者和领航者。致力用震撼而清晰的视觉语言,让更多人读懂大数据,受惠数据驱动的决策方式 第一步打开网站 &#xff1a; …