【发布时间】:2021-10-27 17:40:50
【问题描述】:
我搜索了几个小时来实现 Firestore 离线持久性,因为它对我的应用程序运行至关重要。我在我的应用程序中处理多个聊天,每次再次下载数据都是一个致命错误。
这是我的代码示例,它是第一个被调用的根 App.js 文件:
....
//imports related to firebase
import * as firebase from "firebase";
import ApiKeys from "./constants/ApiKeys";
export default function App() {
//firebase project initialisation
if (!firebase.apps.length) {
firebase.initializeApp(ApiKeys);
var db = firebase.firestore();
db.settings({ experimentalForceLongPolling: true });
console.log("DB INITIALISED");
db.enablePersistence() //HERE IS THE PROBLEM
.catch((err) => {
if (err.code == 'failed-precondition') {
// Multiple tabs open, persistence can only be enabled
// in one tab at a a time.
// ...
} else if (err.code == 'unimplemented') {
// The current browser does not support all of the
// features required to enable persistence
// ...
}
})
};.....
API 密钥如下所示:
const firebaseConfig = {
apiKey: "***",
authDomain: "***",
databaseURL: "https://***",
projectId: "***",
storageBucket: "***",
messagingSenderId: "***",
appId: "***",
measurementId: "***"
};
export default firebaseConfig;
我收到以下无法解决的错误:
FirebaseError:您正在使用 Firestore 的仅内存版本。持久性支持只能通过 @firebase/firestore 包或 firebase-firestore.js 构建获得。
我已经安装了完整的“firebase”包,并且还可以访问@firebase/firestore,我已经检查过了,我实现了它与官方文档中的相同。一切正常,但是当我想启用持久性时...它会因上述错误而崩溃。
我现在能做什么?我错过了另一个包裹,我做错了什么吗?
作为旁注,身份验证持久性在我的应用程序中完美运行,只是 Firestore 持久性失败了。
当前使用 firebase SDK 8.2.3
【问题讨论】:
标签: javascript android firebase react-native google-cloud-firestore