我对flutter web有点陌生,我想知道什么是处理这个问题的好的、干净的方法。所以假设我有一个商店应用程序,客户在他们的购物车中添加了一些产品,这些数据保存在我的状态中(我使用Riverpod
,但我认为使用什么状态管理并不重要)当用户重新加载页面时,购物车将按预期清空(因为所有的状态都将被重新加载)。我想知道处理这个问题的好方法是什么?我应该使用cookies
,shared preferences
,hive
,还是别的什么?我只是想知道一个更有经验的开发人员会推荐什么。提前感谢你提供的任何帮助。
1条答案
按热度按时间kpbwa7wx1#
Cookie通常由服务器创建,而SharedPreferences是客户端特定的。
从体系结构的Angular 来看,您可能希望服务器了解购物车(例如,当用户在不同的设备上登录时;以指示产品可能很快被销售;...)。然而,这又增加了一层复杂性,只有在您有充分的理由让服务器知道它的情况下,我才建议您这样做。
对于一个私有项目,我会采取一种简单直接的方法,就是将其保存在SharedPreferences中。您可以编写一个
toJson
和一个fromJson
函数,并将您的购物车保存/加载为字符串化的JSON。如果后来发现有业务需要,您仍然可以决定在应用程序运行过程中将该逻辑移动到服务器。