【问题标题】:console.error in react-native throws red screen even when __DEV__ is false即使 __DEV__ 为 false,react-native 中的 console.error 也会引发红屏
【发布时间】:2017-03-13 08:30:16
【问题描述】:

我正在使用 Exponent 构建 react-native 应用程序并使用 console.error 进行一些日志记录,例如当网络请求失败等时。虽然在模拟器或真实设备上看到这个带有错误的红屏对开发很有帮助,但当__DEV__ 设置为false 时我也会得到这个(看到它在日志中设置)而网络说它不应该这样工作。

如何为非开发版本禁用它?除了猴子补丁console.error,还有其他方法吗?

【问题讨论】:

    标签: javascript react-native exponentjs


    【解决方案1】:

    在您以生产模式运行应用程序之前,您会收到此全屏错误。这意味着您需要在生产环境中运行您的 iOS/Android 应用。

    如果你想用 iOS 来做,你需要将你的 Scheme 更改为 Release

    更多详情可以查看here

    【讨论】:

    • 谢谢!但我不明白__DEV__ 到底做了什么?因为看起来应用程序的行为方式似乎有三种不同类型:dev(使用__DEV__===true,prod(使用Releasescheme),正如你所建议的那样,介于两者之间的东西(__DEV__===false,但不是Release),这是善良的疯狂的;)
    • __DEV__ 可用于在生产环境中开发或运行应用程序时运行代码片段。如果您将 xcode 设置为 Release__DEV__ 也将为 false。你应该避免使用console.error。也许你可以切换到console.warn。这将导致yellowbox 可以被禁用更多信息here
    • console.error 会以某种方式破坏生产版本???它对开发很有帮助,但我害怕在生产中破坏它。找不到任何关于它的文档
    • 我不知道 console.error 在开发模式下会抛出错误。我一直在挣扎,试图寻找投掷的来源......现在我知道了,感谢上帝!哈哈
    猜你喜欢
    • 2022-10-09
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多