[英]how can i wait for firebase to check the user is valid before sending a POST request with reactjs?
[英]how can I save the state of the 'liked' post by the user?
我在 firestore 中有兩個 collections,“用戶”和“帖子”。 主頁是所有帖子都顯示在列表視圖中的地方,每個帖子都有一個“喜歡”按鈕。 我將喜歡的帖子保存在一組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 中的數組中。 因為 state 不會持續存在或無法保存,除非您使用外部數據庫。
你必須像 class StatefulWidget 這樣創建這個項目
class MyLikeButton extends StatefulWidget { \\...
並在添加到此項的 state class 后添加“with AutomaticKeepAliveClientMixin”,如下所示:
class _MyLikeButtonState extends State<MyLikeButton> with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true; \\....
這將使滾動時項目中的更改保持活動狀態,這是你想要的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.