You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成@Sentry/react-native 5.18.0遇未声明标识符错误求助

解决React Native中Sentry级别配置的未声明标识符错误

在使用@Sentry/react-native 5.18.0版本的React Native项目(依赖axios 1.4.0、moment 2.29.4、react 18.2.0、react-native 0.72.8)中,配置Sentry级别时出现Use of undeclared identifier 'kSentryLevelFatal'和Use of undeclared identifier 'kSentryLevelWarning'错误,以下是具体解决方法及新版本的配置方式:

临时修复方案(针对5.18.0版本)

  • 直接用字符串替代未声明的常量:
    用'fatal'替换kSentryLevelFatal,用'warning'替换kSentryLevelWarning,示例代码:
    Sentry.captureMessage('致命错误提示', 'fatal');
    Sentry.captureMessage('警告提示', 'warning');
    
  • 导入Sentry官方提供的Severity枚举:
    如果项目支持,可导入枚举类来指定级别,避免直接使用原生常量:
    import { Severity } from '@sentry/react-native';
    
    Sentry.captureMessage('致命错误提示', Severity.Fatal);
    Sentry.captureMessage('警告提示', Severity.Warning);
    
  • 同步iOS端依赖:
    进入iOS目录执行pod install,确保原生端Sentry依赖与npm包版本一致,消除依赖不匹配导致的常量缺失问题。

长期解决方案:升级@Sentry/react-native版本

该问题已有对应的修复PR,升级到包含该修复的新版本后,可直接使用原有的常量或官方推荐的枚举方式,无需临时替代。

新版本设置Sentry级别的标准方式

在新版本的@Sentry/react-native中,官方推荐使用Severity枚举来定义日志级别,示例如下:

import { Severity, captureMessage } from '@sentry/react-native';

// 捕获不同级别的日志
captureMessage('调试信息', Severity.Debug);
captureMessage('常规信息', Severity.Info);
captureMessage('警告提示', Severity.Warning);
captureMessage('错误信息', Severity.Error);
captureMessage('致命错误提示', Severity.Fatal);

同时也支持直接传入对应字符串值('debug'、'info'、'warning'、'error'、'fatal'),两种方式均有效。

内容的提问来源于stack exchange,提问作者Ashad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:04:58