我在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),并将其保存到用户文档Liked-Posts的数组中。因为状态不会持久化,或者说无法保存,除非你用外部db。