react错误边界
Posted zhangrenjie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react错误边界相关的知识,希望对你有一定的参考价值。
react实际运用中,为了防止某个组件的异常报错,导致整个程序都运行不起来,我们通常封装一个错误的组件:
import React from "react" export default class ErrorBoundary extends React.Component{ state = { hasError:false, error:null, errorInfo:null } /** * 子元素发生错误时触发 */ componentDidCatch(error,errorInfo){ this.setState({ hasError:true, error:error, errorInfo:errorInfo }) } render(){ if(this.state.hasError){ return <div>{ this.props.render(this.state.error,this.state.errorInfo) }</div> } return this.props.children; } }
调用,当组件出现错误时,加载render返回的内容
<ErrorBoundary render={ (error,errorInfo) => <p>{ ‘加载时发生错误‘ }</p> }> <Errors /> {/*出现错误的组件*/} </ErrorBoundary>
以上是关于react错误边界的主要内容,如果未能解决你的问题,请参考以下文章
React拓展 - setState - 路由组件懒加载 - Hooks - Fragment - Context - PureComponent - 插槽 - 错误边界 - 组件通信方式总结(代码片