React Native 0.60.5集成Crashlytics报错:_crashlytics.default.log不是函数
解决
_crashlytics.default.log is not a function 报错 这个问题我之前在RN 0.6x版本开发时也碰到过,大概率是模块导入或初始化环节出了问题,给你几个可行的排查和解决方向:
1. 调整导入方式
默认导入有时候会因为模块导出方式的问题导致方法找不到,试试换成命名导入:
import { crashlytics } from '@react-native-firebase/crashlytics';
替换掉原来的默认导入后,再测试forceCrash函数。
2. 确认Firebase核心已初始化
Crashlytics依赖Firebase App的初始化,你得确保在调用Crashlytics方法前,已经完成了Firebase的初始化步骤。比如在项目入口文件(index.js或App.js)里添加:
import firebase from '@react-native-firebase/app'; // 从Firebase控制台复制你的项目配置信息 const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_SENDER_ID", appId: "YOUR_APP_ID" }; if (!firebase.apps.length) { firebase.initializeApp(firebaseConfig); }
没有完成初始化的话,Crashlytics模块无法正常加载其内置方法。
3. 重新触发自动链接并清理缓存
虽然RN 0.60+支持自动链接,但偶尔会出现链接不彻底的情况:
- 先运行命令重新链接模块:
npx react-native link @react-native-firebase/crashlytics - 然后清理RN缓存,避免旧的模块缓存干扰:
npx react-native start --reset-cache - 最后重新构建项目即可。
4. 检查版本兼容性
@react-native-firebase/crashlytics的新版本可能不再兼容RN 0.60.5,建议安装一个和RN版本匹配的稳定版本。比如10.x系列对RN 0.60+支持较好,你可以执行:
npm install @react-native-firebase/crashlytics@^10.0.0 --save
安装完成后重新构建项目测试即可。
内容的提问来源于stack exchange,提问作者Tiago Gouvêa
相关产品推荐
相关产品推荐

