为什么错误导致空白屏幕而不是消息?

时间:2018-04-19 15:54:37

标签: reactjs

当我收到Javascript错误时,屏幕变为空白。如何让React在浏览器窗口中显示错误消息?

1 个答案:

答案 0 :(得分:10)

如果在渲染过程中发生错误,则没有通用的方法可以从中恢复。您的应用的状态已损坏,并且您不知道如何将其恢复为有效状态,而不是无错误地呈现。因此,所有东西都作为最后的手段被卸下。

要处理组件树的某个部分的错误,请向其添加Error Boundaries。这样,如果错误发生在不相关的部分中,您可以防止您的应用完全无法使用。

请注意,错误边界只能捕获渲染期间,生命周期方法以及它们下面的整个树的构造函数中的错误。

  

注意

     

错误边界不会捕获以下错误:

     
      
  • 事件处理程序(learn more
  •   
  • 异步代码(例如setTimeout或   requestAnimationFrame回调)
  •   
  • 服务器端呈现
  •   
  • 抛出错误   在错误边界本身(而不是它的孩子)
  •