哪个库更适合离线支持:redux-offline 或 react-native-offline?

Posted

技术标签:

【中文标题】哪个库更适合离线支持:redux-offline 或 react-native-offline?【英文标题】:Which library is better for offline support: redux-offline or react-native-offline? 【发布时间】:2018-04-18 21:44:03 【问题描述】:

需要关于使用 redux 的大型 React Native 移动应用程序使用哪个库的建议? redux-offline 还是 react-native-offline

我需要定期检查连接状态,根据连接状态渲染视图,在离线时将操作添加到队列并在在线时运行它们,如果存在一些矛盾则取消操作,以及离线保存/重新水化数据。

【问题讨论】:

我建议 redux-offline。 【参考方案1】:

我在我的react-native 项目中使用redux-offline,效果很好。您正在寻找的所有功能都是礼物,如

    定期检查连接状态 随时添加actionoffline(在线\离线) 设备上线后立即执行操作(此外,您可以决定重试间隔) 您可以编写自己的discard 方法来根据您的业务需求放弃任何操作。 它使用redux-persist自动persist\rehydrate数据。此外,您还可以提供自己的存储机制。

redux-offline 非常适合我,抱歉,我还没有使用过react-native-offline,所以无法为您提供任何基准。

【讨论】:

redux-offline 是否提供状态加密? 不,开箱即用不支持加密state。但是如果你想加密store,你可以使用redux-persisittransforms 面临一个问题,提交:操作没有被触发,知道可能是什么问题吗?我正在使用 redux saga 中间件【参考方案2】:

我建议使用 react-native-offline。

React-native-Offline 提供:

    更轻松地处理基于正则表达式或操作列表的操作的队列 一旦网络恢复,自动触发仅在线操作。 从维护的角度来看,您的 Saga 看起来更简洁、可读,包括在线/离线案例。

Redux-Offline 提供:

    它基本上是在单独的在线和离线操作上 需要处理每个操作和相关的回滚

两者都为 redux-presist 提供了您喜欢的连接器。

【讨论】:

【参考方案3】:

我对两者都进行了评估,对于我的用例,我决定使用react-native-offline。我喜欢它与 redux-sagas 的集成和易于设置,当您希望您的用户离线执行许多操作时,它的 offlineQueue 非常方便。

【讨论】:

你如何处理离线 POST 动作?例如,假设用户按下了点赞按钮,该按钮随后会调用 API 来增加点数。 DB 中的点赞数,当该请求正在进行时,用户的网络断开了。 我不确定请求是否在进行中,但如果用户在发出请求之前连接丢失,它会被放入 FIFO 离线队列,当网络连接恢复时,它会发送这些操作按照用户发送的顺序

以上是关于哪个库更适合离线支持:redux-offline 或 react-native-offline?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确延迟渲染

iOS 是不是支持私有框架?

激光雷达与相机:哪个最适合自动驾驶汽车?

哪个 Java Web 框架最适合 Web 设计人员? [关闭]

jupyter和pycharm哪个适合新手

win11适合哪个版本的arcgis?