【问题标题】:react-native how to remove persistence on firebase snapshotreact-native如何删除firebase快照上的持久性
【发布时间】: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()
        }
    }
}, []);

一切正常。

但是,鉴于场景。

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

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

谢谢!

【问题讨论】:

    标签: react-native react-native-firebase


    【解决方案1】:

    From this answer:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2016-10-28
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 2020-11-22
      • 2020-10-24
      相关资源
      最近更新 更多