如何保存用户 "喜欢 "帖子的状态?

问题描述 投票:1回答:1

我在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);
            }
          });
        }
flutter google-cloud-firestore flutter-layout
1个回答
1
投票

你是在保存某个用户的喜欢的帖子吗,那么我建议获取该帖子(ID),并将其保存到用户文档Liked-Posts的数组中。因为状态不会持久化,或者说无法保存,除非你用外部db。

© www.soinside.com 2019 - 2024. All rights reserved.