• 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>
  • 相关阅读:
    可爱精灵宝贝 DP/爆搜
    那些年留的坑
    吃某种零食ing
    NOIP模拟测试13
    NOIP模拟测试12
    NOIP模拟测试11
    大佬 (数学)
    BZOJ3331 BZOJ2013 压力
    LOJ2586 APIO2018 选圆圈
    BZOJ3398 牡牛和牝牛
  • 原文地址:https://www.cnblogs.com/zhangrenjie/p/14070771.html
Copyright © 2020-2023  润新知