微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React Js ErrorBoundary 仅适用于主要布局组件,不适用于嵌套组件

如何解决React Js ErrorBoundary 仅适用于主要布局组件,不适用于嵌套组件

我在代码中使用了错误边界,当我在渲染主要布局组件的文件中使用它时,它可以工作,例如:

<ErrorBoundary>
<header></header>
</ErrorBoundary>
<ErrorBoundary>
<main/> //this component has an error
</ErrorBoundary>
<ErrorBoundary>
<footer></footer>
</ErrorBoundary>

上述代码有效,并且显示main 组件中的错误的回退 UI。但是当我在主组件文件中使用 errorboundary 组件时,它不起作用, 例如,错误边界不起作用:

class main extends React.Component {
//code
<ErrorBoundary>
{object}
</ErrorBoundary>
//more code

这不起作用,整个应用程序崩溃,只显示一个空白页面。为什么会发生这种情况以及如何处理?谢谢。

解决方法

我想通了。 Errorboundary 捕获组件中的错误。所以它没有更早地工作,但是当我在 ErrorBoundary 之间渲染一个有问题的组件时,它工作了。

<ErrorBoundary>
<FaultyComponent/>
</ErrorBoundary>

成功了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。