react-native如何删除firebase快照上的持久性



我有点糊涂了。我正在听firebase快照下面的示例代码

unsubscribe = firebase
.firestore()
.collection('collection')
.doc(id)
.onSnapshot(
function(doc) {
// other code
},
);

如果有特定id的新项,这将侦听集合。然后,关闭应用程序将取消订阅快照

useEffect(() => {
return () => {
if (unsubscribe) {
unsubscribe()
}
}
}, []);

It is working fine.

然而,鉴于这种情况。

  1. 如果快照被触发(例如:{value: 1})然后我关闭了应用程序。
  2. 删除firebase上指定id的值。(意思是id不应该接收到项目)
  3. 重新打开应用程序
  4. 我仍然得到前一个值是{value: 1},然后得到最新的值,这是未定义的(因为我删除了值)

该值是否在应用程序中保留?我如何在重新打开应用程序时删除这个?

谢谢!

从这个答案

API中现在有一个清除持久性的特性。除了测试之外,不建议使用

,但是您可以使用
firebase.firestore().clearPersistence().catch(error => {
console.error('Could not enable persistence:', error.code);
})

它必须在使用Firestore数据库之前运行。

最新更新