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

React Native Firebase Firestore报错:Cannot read property 'scope' of null

解决方案:Cannot read property 'scope' of null(Firebase 8.x + React Native 0.63.x)

针对你遇到的node_modules/@firebase/firestore/dist/rn/prebuilt.rn-d6d8673f.js: Cannot read property 'scope' of null错误,结合RN 0.63.4和Firebase 8.10.0的版本组合,提供以下可行修复方案:

  • 降级Firebase到兼容版本
    8.10.0版本的Firebase与RN 0.63.x存在兼容性冲突,降级到8.9.1是最直接的修复方式:

    npm install firebase@8.9.1 --save
    # 若使用yarn:
    yarn add firebase@8.9.1
    

    执行后清理依赖和缓存:

    rm -rf node_modules package-lock.json
    npm install
    npx react-native start --reset-cache
    
  • 修正Firebase初始化时序
    确保Firestore相关操作在Firebase初始化完成后执行,避免异步触发的时序问题:

    import firebase from 'firebase/app';
    import 'firebase/firestore';
    
    const firebaseConfig = {
      // 你的项目配置信息
    };
    
    // 避免重复初始化
    if (!firebase.apps.length) {
      firebase.initializeApp(firebaseConfig);
    }
    
    // 初始化完成后再获取Firestore实例
    const db = firebase.firestore();
    
  • 彻底清理项目缓存
    仅删除node_modules可能无法清除Metro或原生端缓存,执行以下命令彻底清理:

    # 重置Metro缓存
    npx react-native start --reset-cache
    
    # iOS端额外清理
    cd ios && pod deintegrate && pod install && cd ..
    
    # Android端额外清理
    cd android && ./gradlew clean && cd ..
    
  • 锁定@firebase/firestore子依赖版本
    若依赖锁定文件中@firebase/firestore版本和主firebase版本不一致,可在package.json中添加版本锁定:

    "resolutions": {
      "@firebase/firestore": "8.9.1"
    }
    

    之后重新安装依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:15:46