如何保存用户“喜欢”帖子的状态?
Posted
技术标签:
【中文标题】如何保存用户“喜欢”帖子的状态?【英文标题】:how can I save the state of the 'liked' post by the user? 【发布时间】:2020-09-20 19:03:27 【问题描述】:我在 Firestore 中有两个集合,“用户”和“帖子”。主页是所有帖子都显示在列表视图中的地方,每个帖子都有一个“喜欢”按钮。我将喜欢的帖子保存在页面上的一组final _likedPosts = Set<Posts>();
中,但它只是暂时保存喜欢的帖子,一旦应用程序关闭,它就会丢失所有数据。如何永久保存用户的 _likedPosts 以便保留数据。我应该对用户进行什么查询以保留 _likedPosts?或者还有其他方法吗?
这就是 Icon 和 onTap 目前的样子,
final _likedPosts = _savedPosts.contains(post);
Icon(_likedPosts ? Icons.favorite : Icons.favorite_border,
color: _likedPosts ? Colors.red : null),
onTap: ()
setState(()
if (_likedPosts)
_savedPosts.remove(post);
else
_savedPosts.add(post);
);
【问题讨论】:
给每个帖子一个字段,表示喜欢它的点赞和用户(字符串数组)。每当有人喜欢它时,增加“喜欢”计数器并在“用户列表”字段中添加该用户 ID/名称。 谢谢@KetanRamteke。 @KetanRamteke 我该如何查询这个? ***.com/q/62194361/13647913 【参考方案1】:您是否正在保存某个用户的顶帖?然后我建议获取该帖子(ID)并将其保存到每个用户的用户文档 Liked-Posts 中的一个数组中。因为除非您使用外部数据库,否则状态不会持久或无法保存。
【讨论】:
谢谢。不保存,但我会试试看。以上是关于如何保存用户“喜欢”帖子的状态?的主要内容,如果未能解决你的问题,请参考以下文章