我正在尝试实现一项功能,该功能将显示我的应用程序中的项目是否已读取或未读。 例如,假设用户打开某个未读项目,然后该项目被标记为"已读",并且它应该保持"已读"状态,直到卸载应用程序或手动清除应用程序数据。
我想知道实现此类功能的最佳实践是什么。有没有办法将此信息保存在我的状态中,并且即使在应用程序关闭后也以某种方式让我的状态仍然存在?还是应该通过AsyncStorage来完成?
要持久化您的商店数据,请尝试 redux-persist - 效果很好且简单明了。它在内部使用 AsyncStorage
作为存储引擎。
这些物品来自哪里?
如何解决此问题取决于您的实现细节。
- 这是一个类似于电子邮件的项目,其中每个项目都特定于用户?然后,保持状态的最佳位置可能是在云中,作为项目本身的一部分。
{messageid: 1, userid: 'xyz', read: true}
- 它是一个类似聊天的项目,那么最好在服务器上保留状态。
- 如果是群发通知,那么也许最好的地方是异步存储。
另一个需要考虑但未提及的因素是如何跨多个设备处理相同的"项目"读/未读状态。它是否需要保持一致,或者是否可以在一台设备上读取而在另一台设备上未读取?
无论您的具体实现细节如何,我希望这能给您足够的咀嚼,并为您指明正确的方向。