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

Posted

技术标签:

【中文标题】react-native如何删除firebase快照上的持久性【英文标题】:react-native how to remove persistence on firebase snapshot 【发布时间】:2021-11-01 12:20:24 【问题描述】:

我有点困惑。 我正在使用下面的示例代码收听 Firebase 快照

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

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

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

一切正常。

但是,鉴于场景。

    如果触发了快照(例如 value: 1 )然后我关闭了应用程序。 删除了 Firebase 上特定 ID 的值。 (意思是 id 不应该收到该物品) 重新打开应用 我仍然得到之前的值,即 value: 1,然后得到未定义的最新值(因为我删除了该值)

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

谢谢!

【问题讨论】:

【参考方案1】:

From this answer:

API 中现在有一个用于清除持久性的功能。不推荐用于测试,但您可以使用

firebase.firestore().clearPersistence().catch(error => 
  console.error('Could not enable persistence:', error.code);
)

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

【讨论】:

以上是关于react-native如何删除firebase快照上的持久性的主要内容,如果未能解决你的问题,请参考以下文章