有没有一种方法可以防止损坏的反应渲染使整个页面崩溃?

时间:2020-10-11 17:03:11

标签: reactjs

如果React组件中发生中断错误,则整个页面都会崩溃。例如,如果x为空,而您尝试访问x.someProperty,则会出现错误,整个页面将变为白色。这与并非完全在JS上运行的老式应用程序有点不同,因为即使JS错误并阻塞了页面的某些方面,标记(HTML&CSS)仍然存在。

有没有办法用React减轻这种情况?类似于将组件包装在try / catch中,以便如果出现问题,则 only 该组件将失败,并且仅页面的该部分变为白色,而不是整个页面。我不确定是否有比在try / catch中实际包装功能组件的代码整体更好的模式。

我想我对这里的功能组件特别感兴趣,但是基于类的答案可能对其他人有用。

1 个答案:

答案 0 :(得分:3)

您可以使用Error Boundaries减轻此类错误-这些组件可能捕获子组件抛出的错误并显示一些有意义的错误,而不仅仅是崩溃。