【问题标题】:How to disable offline persistence with react-redux-firebase如何使用 react-redux-firebase 禁用离线持久性
【发布时间】:2020-12-15 23:46:38
【问题描述】:

我有一个带有 React、Redux 的 Web 应用程序,它连接到 Firebase 的实时数据库。实现使用 react-redux-firebase 库,它可以工作。

开箱即用,如果应用暂时离线,对商店的更改会保存在本地,然后再次在线执行。该功能被 Firebase 称为“离线持久性”。我想将其关闭 - 如果应用程序处于脱机状态,则不应执行任何操作,稍后,当重新连接互联网时,不应将任何更改推送到服务器。

我该怎么做?我在 react-redux-firebase 的文档或配置中找不到它。从实时数据库切换到 Firestore 都不会改变这一点。作为一个附带问题,应用程序在离线时将错误写入控制台。一切正常,但我不知道如何关闭这些日志。

WebSocketConnection.ts:183 WebSocket connection to 'wss...' failed: Error in connection establishment: net::ERR_INTERNET_DISCONNECTED
WebSocketConnection.open @ WebSocketConnection.ts:183
(anonymous) @ Connection.ts:145
BrowserPollConnection.ts:745 GET https://... net::ERR_INTERNET_DISCONNECTED

【问题讨论】:

    标签: javascript firebase-realtime-database redux-thunk react-redux-firebase


    【解决方案1】:

    您可以通过侦听.info/connected 节点来检测Firebase 客户端是否连接到服务器。在这种情况下,您可以阻止您的代码向数据库发送任何写入操作。

    有关这方面的示例,请参阅 detecting connection state 上的 Firebase 文档。

    【讨论】:

    • 虽然这可用于检测我们是否已连接到 Firebase,但当我们失去连接时,这并不能阻止在控制台中打印错误。即使我没有写入 Firebase,也会打印错误,这仅仅是因为我正在监听数据的更改,而这些更改在离线时无法访问。您链接到的代码不会阻止这种情况。
    • 如果您希望我们帮助解决您在控制台中看到的消息,请编辑您的问题以包含这些消息。
    猜你喜欢
    • 2017-04-05
    • 2020-05-31
    • 1970-01-01
    • 2020-11-22
    • 2019-11-22
    • 2021-10-29
    • 2018-01-28
    • 2020-07-07
    • 2023-03-21
    相关资源
    最近更新 更多