场景1:
方案2:
答案 0 :(得分:0)
要使方案2正常工作,如果与服务器之间没有连接(Firebase客户端中称为磁盘持久性),则Firebase客户端必须将数据写入本地磁盘。然后,当应用重新启动时,它会从磁盘读取数据,然后可以重试将其发送到服务器。
由于方案2不适用于您,因此似乎未启用磁盘持久性。您没有告诉/显示我们正在使用哪个Firebase数据库(Firestore或实时数据库)。但是,由于默认情况下在Firestore上启用了磁盘持久性,因此我将假定它是实时数据库。要了解如何在此处启用磁盘持久性,请参阅https://invertase.io/oss/react-native-firebase/faqs/enabling-database-persistence
答案 1 :(得分:0)
只需执行以下操作:
export const syncOfflineDataToFirestore = async () => {
const docRef = await firebase
.firestore()
.collection('singledoc-per-device')
.doc(`doc_name`)
await docRef.get()
}
在最初启动应用的顶级组件之一中调用上述函数,它将自动将所有记录推送到firebase。虽然有点棘手,但效果很好。