首页 > 解决方案 > ReferenceError:找不到变量:在 Expo 上使用 Firebase 时的 IDBIndex

问题描述

我正在使用 Expo 开发应用程序,使用 Firebase JS SDK ( https://docs.expo.io/guides/using-firebase/ ),仅用于身份验证和使用 Cloud Firestore 数据库。它在浏览器上运行良好,但是当我切换到 Expo Go 时,我收到此错误:

ReferenceError:找不到变量:IDBIndex

据我了解,Firebase SDK 应该可以正常工作,除了使用我没有使用的 Analytics 时。我花了几个小时在谷歌上搜索这个问题,但大多数人都提到了 Analytics 的问题,所以任何帮助都将不胜感激!

我的 package.json:

"dependencies": {
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/native": "^5.9.4",
    "@react-navigation/stack": "^5.14.4",
    "expo": "~41.0.0",
    "expo-status-bar": "~1.0.4",
    "firebase": "8.2.3",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
    "react-native-datefield": "^0.1.0",
    "react-native-gesture-handler": "~1.10.2",
    "react-native-reanimated": "~2.1.0",
    "react-native-safe-area-context": "3.2.0",
    "react-native-screens": "~3.0.0",
    "react-native-web": "~0.13.12"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0"
  }

标签: firebasereact-nativegoogle-cloud-firestoreexpo

解决方案


我通过使用 firebase@9.1.0 解决了这个问题。在世博会文档中,他们提到他们在示例中使用了这个版本。https://docs.expo.dev/guides/using-firebase/

使用较新版本的 Firebase 我遇到了同样的问题。


推荐阅读