React native 如何在调试模式下禁用红屏
使用React native 如何在调试模式下禁用红屏,react-native,React Native,使用React Native我想继续在debug或\uuu DEV\uu模式下工作,但不使用红色屏幕 有人知道如何禁用它或更改控制台。错误实现吗 我尝试过这样做: console.error = {}; 或 但上述措施都不起作用 有什么想法吗?您可以尝试添加 console.error = (error) => error.apply; 这会解决你的问题 或使用 console.disableYellowBox = true; 如果要禁用警告,请将其添加到应用程序的入口点JS文件中
React Native
我想继续在debug
或\uuu DEV\uu
模式下工作,但不使用红色屏幕
有人知道如何禁用它或更改控制台。错误实现吗
我尝试过这样做:
console.error = {};
或
但上述措施都不起作用
有什么想法吗?您可以尝试添加
console.error = (error) => error.apply;
这会解决你的问题
或使用
console.disableYellowBox = true;
如果要禁用警告,请将其添加到应用程序的入口点JS文件中:
import {NativeModules} from 'react-native';
NativeModules.ExceptionsManager = null;
它将禁用负责显示红框窗口的本机模块(reportSoftException
,或从react native/Libraries/Core/exceptionmanager.js调用的reportFatalException
)使用:
console.reportErrorsAsExceptions = false;
适合我。在阅读react本机代码后,我设法用
console.\u errorOriginal=console.error.bind(console);
console.error=()=>{}代码>对于iOS
,您可以在React
Xcode项目中设置预处理器宏。如果您使用的是cocoapods,它将位于Pods(项目)->React(目标)->构建设置(选项卡)->预处理器宏->调试
设置RCTLOG\u REDBOX\u LEVEL=4
,其中4
仅表示致命错误的REDBOX
从RCTLog.h
:
/**
* Thresholds for logs to display a redbox. You can override these values when debugging
* in order to tweak the default logging behavior.
*/
#ifndef RCTLOG_REDBOX_LEVEL
#define RCTLOG_REDBOX_LEVEL RCTLogLevelError
#endif
谢谢师父,但它不起作用。我的异常抛出是因为没有足够的NSAssert
lmao,没有一个答案对我有效。确保您正在将其粘贴到主渲染函数中。如何使用它?@Anuj只需将其放置在主index.js文件中即可。谢谢。我刚刚创建了发布版本,所以它可以正常工作。
/**
* Thresholds for logs to display a redbox. You can override these values when debugging
* in order to tweak the default logging behavior.
*/
#ifndef RCTLOG_REDBOX_LEVEL
#define RCTLOG_REDBOX_LEVEL RCTLogLevelError
#endif
typedef NS_ENUM(NSInteger, RCTLogLevel) {
RCTLogLevelTrace = 0,
RCTLogLevelInfo = 1,
RCTLogLevelWarning = 2,
RCTLogLevelError = 3,
RCTLogLevelFatal = 4
};