当我收到Javascript错误时,屏幕变为空白。如何让React在浏览器窗口中显示错误消息?
答案 0 :(得分:10)
如果在渲染过程中发生错误,则没有通用的方法可以从中恢复。您的应用的状态已损坏,并且您不知道如何将其恢复为有效状态,而不是无错误地呈现。因此,所有东西都作为最后的手段被卸下。
要处理组件树的某个部分的错误,请向其添加Error Boundaries。这样,如果错误发生在不相关的部分中,您可以防止您的应用完全无法使用。
请注意,错误边界只能捕获渲染期间,生命周期方法以及它们下面的整个树的构造函数中的错误。
注意强>
错误边界不会捕获以下错误:
- 事件处理程序(learn more)
- 异步代码(例如
setTimeout
或requestAnimationFrame
回调)- 服务器端呈现
- 抛出错误 在错误边界本身(而不是它的孩子)