React Native - 持久化状态的最佳实践

时间:2017-10-10 06:58:40

标签: react-native persistence state

我正在尝试实现一项功能,该功能可以显示我的应用中是否已读取或未读取项目。例如,用户将打开某个未读项目,然后将该项目标记为"阅读"它应该保持"阅读"直到应用程序被卸载或手动清除应用程序数据。

我想知道实现这样一个功能的最佳做法是什么。有没有办法可以在我的状态下保存这些信息,并且即使在应用程序关闭后我的状态仍然存在?或者应该通过AsyncStorage来完成?

2 个答案:

答案 0 :(得分:1)

要保留商店数据,请尝试redux-persist - 效果非常好&直截了当。它在内部使用AsyncStorage作为存储引擎。

答案 1 :(得分:1)

物品来自哪里?

如何解决此问题取决于您的实施细节。

  1. 这是一个类似电子邮件的项目,每个项目是否特定于用户?然后,持久状态的最佳位置可能是在云中,作为项目本身的一部分。 {messageid: 1, userid: 'xyz', read: true}
  2. 这是一个类似聊天的项目,那么最好将状态保存在服务器上。
  3. 这是一个群发通知,那么最好的地方可能是异步存储。
  4. 要考虑的另一个因素,但未提及的是如何跨多个设备处理相同的“项目”读/未读状态。它是否需要保持一致,或者是否可以在一台设备上读取而在另一台设备上读取?

    无论您的具体实施细节如何,我希望这能让您足够咀嚼,并指出您正确的方向。