我正在expo 上开发一款RN应用,firebase作为后端.到目前为止,该应用程序只使用firebase auth和firestore,出于任何原因,我随机开始得到ReferenceError: Can't find variable: IDBIndex的错误.我调整了firebase配置以适应v9标准,而不是使用compat软件包.我确保我的应用程序没有使用谷歌分析.我也降级为firebase@9.1.0这与expo 文件和其他类似的post条相匹配.

以下是我的firebase配置:

import { initializeApp } from 'firebase/app'
import { getAuth, connectAuthEmulator } from "firebase/auth";
import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";

import {
  FIREBASE_API_KEY,
  FIREBASE_AUTH_DOMAIN,
  FIREBASE_PROJECT_ID,
  FIREBASE_STORAGE_BUCKET,
  FIREBASE_MESSAGING_SENDER_ID,
  FIREBASE_APP_ID,
  FIREBASE_MEASUREMENT_ID,
} from '@env';

const firebaseConfig = {
  apiKey: FIREBASE_API_KEY,
  authDomain: FIREBASE_AUTH_DOMAIN,
  projectId: FIREBASE_PROJECT_ID,
  storageBucket: FIREBASE_STORAGE_BUCKET,
  messagingSenderId: FIREBASE_MESSAGING_SENDER_ID,
  appId: FIREBASE_APP_ID,
  measurementId: FIREBASE_MEASUREMENT_ID,
};

const app = initializeApp(firebaseConfig);

export default app;
export const auth = getAuth(app);
export const firestore = getFirestore(app);

if (process.env.NODE_ENV === "development") {
    connectAuthEmulator(auth, "http://localhost:9099");
    connectFirestoreEmulator(firestore, "localhost", 8080);
}

如果您需要查看更多文件或需要了解更多详细信息,请务必告诉我.

推荐答案

本帖中提到的其他修复肯定都是有效的(我曾看到其他论坛帖子建议firebase降级,但在我的情况下,它不起作用.)

我想确认是什么解决了我的问题可能会对我有所帮助.当我的一个团队成员使用npm而不是expo(默认为yarn)来安装依赖项时,问题就出现了.这导致yarn.lockpackage-lock.json之间出现同步问题.单凭这一点不会造成太多问题,因为一个简单的yarnyarn install <dependency>就可以解决这个问题.然而,这种依赖关系恰好需要预先存在的依赖关系,这些依赖关系的版本与我的expo版本"预期"的版本不同.这个IDBIndex错误是如何触发的对我来说仍然是个谜,但最终我所要做的就是删除所有的锁文件和node_modules,执行一个expo update,最后执行一个yarn来重新安装所有现在兼容的软件包.

如果有人在这个问题上遇到了障碍,能够给出一个可能的解释,解释为什么这个问题是固定的,那将是非常感激的.

React-native相关问答推荐

'无法解析模块.安装react-native-pager-view后的实用程序/平台

FlatList有时不会在数据更改时重新呈现

类似Snapchat的Reaction Native筛选器

React-Native:请纠正我对状态如何工作的误解 - 动态文本输入

无法解析 com.google.gms:google-services:4.3.15

防止 React Native 在上下文值更改时重新安装组件

IntelliSense 在第一项后无法在 React Native 样式表中工作

如何在StackNavigator 中实现自定义标题图标?

React中类似于 React Native 中的 FlatList

如何运行 React-Native 示例?

图像背景ResizeMode调整大小模式

如何以编程方式在 react-native 中截屏

如何手动在抽屉导航底部添加额外的元素(如注销按钮)?

我可以在 react-native 中使用 reactJS 库吗?

React Native with Typescript and Jest 在 0.57 更新后被 destruct :Couldn't find preset "module:metro-react-native-babel-preset" relative to directory

React Native require(image) 返回数字

我可以使用 react native 开发 pwa

React Navigation 中的选项卡导航器图标

React-Native 最低 Android API 级别

无法在react-native中分配给# 的只读属性props