为什么我在出错时出现空白页,而其他人却没有

时间:2018-12-17 22:26:24

标签: reactjs google-chrome

我正在观看this video,当发生错误时,他会在页面上看到实际错误,并且在部署网站时只会出现白屏。

我见过几次。但是无论我在本地主机上还是在生产中,我都只会看到白屏。

我看到他在Mac上使用chrome,而在PC上使用。不确定是否有区别。

2 个答案:

答案 0 :(得分:0)

虽然我不能确切地说,但我怀疑您没有使用create-react-app来设置项目。

仅当您使用CRA设置项目时,您才会看到该错误消息,因为这是特定于该项目的错误处理程序。如果您不使用create-react-app,React应该将错误记录到控制台。

答案 1 :(得分:0)

ReactJS足够聪明,可以在应用程序处于生产模式时向用户隐藏错误。

如果应用崩溃,您只会看到一个空白页面,但是如果您查看该页面,则会在控制台中看到有关该错误的小细节。

如果您以开发模式运行该应用程序,则将看到有关错误的完整详细信息。

在这种情况下,出现了componentDidCatch方法来处理应用程序崩溃错误,而不是在空白页上向用户显示“ 出现问题 ”消息,或者您可以将XHR请求和错误信息发送到服务器。

签出this example of declaring and using an error boundary

https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html