我还是个初来乍到的人,我想知道怎样才是一个好的、干净的方法来处理这个问题.因此,考虑到我有一个购物应用程序,客户将一些产品添加到他们的购物车中,这些数据保存在我的州(我使用Riverpod,但我认为使用什么状态管理并不重要).当用户重新加载页面时,购物车将如预期的那样为空(因为所有状态都将被重新加载).我想知道处理这个问题的好办法是什么?我应该用cookiesshared preferenceshive还是其他什么?我只是想知道更有经验的开发人员会推荐什么.预先感谢您提供的任何帮助.

推荐答案

Cookie通常由服务器创建,而SharedPreferences是特定于客户端的内容.

从体系 struct 的Angular 来看,您可能希望服务器知道购物车(例如,当用户登录到不同的设备时;指示产品可能很快就会售出;...).然而,这又增加了一层复杂性,只有当您有充分的理由让服务器知道这一点时,我才会推荐这样做.

对于私有项目,我会采取的简单直接的方法是将其保存在SharedPreferences中.您可以编写一个toJsonfromJson函数,并将购物车保存/加载为Stringiated JSON.

如果有业务需要,您以后仍然可以决定在应用程序过程中将该逻辑移动到服务器.

Flutter相关问答推荐

类型int不是可迭代动态tmdbapi类型的子类型<>

在Flutter 中压缩图片返回空

摆动如何更改弹出菜单项高亮显示 colored颜色 半径

如何从RealmResults获取Flutter Flutter 流?

上传的图像不能在FireBase中预览.S档案类型为空白,摆动

Android工作室Flutter 热重新加载更新后不工作

Flutter守护进程无法启动

ScaffoldMessenger 在等待键下方不起作用

GridView 渲染项目之间有微小的间隙

NotifierProvider 每次更新都会重新构建并且值不更新

「Flutter」错误:没有名为'kind'的命名参数

在 Flutter 中,SpinEdit 叫什么?

如何解决需要一个标识符,但得到的是:.try 在:之前插入一个标识符.dart 错误

Flutter/Riverpod 创建复杂对象的副本,其值在某处发生变化

Flutter中如何连续获取TextField的文本是否为空?

更改文本字段Flutter 中最大字母的 colored颜色

Flutter RawMaterialButton 常量相对大小

Flutter 中父容器顶部的 Gridview 间距额外区域

如何在屏幕按钮中排列 row() (我想在按钮中放置屏幕导航图标)

Flutter:滚动一个ListWheelScrollView,无法获取选中项的状态