错误和警告

编辑

了解您在 Expo 项目中遇到的 Redbox 错误和堆栈跟踪。


在使用 Expo 开发应用程序时,您将遇到 Redbox 错误或 Yellowbox 警告。这些日志体验是由 React Native 中的 LogBox 提供的。

Redbox 错误和 Yellowbox 警告

当致命错误阻止您的应用程序运行时,将显示 Redbox 错误。当有可能存在问题时,将显示 Yellowbox 警告,以通知您在发布应用程序之前应该解决它。

您还可以通过 console.warn("Warning message")console.error("Error message") 自己创建警告和错误。触发 redbox 的另一种方法是抛出错误而不捕获它:throw Error("Error message")

这是使用 Expo CLI 调试 React Native 应用程序的简要介绍。有关深入信息,请参见 调试

堆栈跟踪

当您在开发过程中遇到错误时,您将看到错误消息和 堆栈跟踪,这是一份您的应用程序崩溃时所做最近调用的报告。此堆栈跟踪同时显示在您的终端和 Expo Go 应用中,或者如果您创建了开发构建。

此堆栈跟踪是 极其有价值 的,因为它为您提供了错误发生的位置。例如,在下图中,错误发生在文件 HomeScreen.js 中,并且是在该文件的第 7 行引起的。

当您查看该文件时,在第 7 行,您将看到一个名为 renderDescription 的变量被引用。错误消息描述该变量未找到,因为该变量未在 HomeScreen.js 中声明。这是如何利用错误消息和堆栈跟踪的典型示例,如果您花时间去解读它们。

调试错误是开发过程中最令人沮丧但又最令人满意的部分之一。请记住,您从不是孤单的。Expo 社区以及 React 和 React Native 社区都是您遇到困难时的良好资源。很有可能还有其他人遇到了您的确切错误。确保阅读文档,搜索 论坛GitHub 问题Stack Overflow