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

Ian*_*ton 4 reactjs

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

tri*_*ixn 12

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

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

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

注意

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

  • 事件处理程序(了解更多)
  • 异步代码(例如setTimeoutrequestAnimationFrame回调)
  • 服务器端渲染
  • 错误边界本身(而不是其子)中抛出的错误