首页 > 解决方案 > 颤振状态生成器问题列表

问题描述

所以我正在创建这个应用程序,它有一个遵循类似结构的帖子列表。

FutureBuilder(
  future: getPosts() <-Custom function that returns data from firestore
  builder:(context,snapshot){
     return ListView.builder(
            builder:(context,index){
            Post v=_dataToPost(snapshot.data()[index]) <- Custom function that transforms the data into a post
              bool userLike=v.like;
                 return StatefulBuilder(
                    builder(context,setSheet)=>
                         IconButton(
                         onPressed:(){
                         _likePost <-Custom function that updates firestore to like a post
                         setSheet({
                         userLike=!userLike
               })
               })
               )}
               )}
               )

首先,有人告诉我,这不是正确使用 statefulbuilder 的方式,但我不想每次有人喜欢/不喜欢帖子时都调用 setState。但是我仍然需要在我的用户按下它后立即更改like图标(只是等待_likePost函数运行需要太长时间)。

我还注意到,当我实际上调用 setState(以获取更多帖子或 smt)时,like 按钮会在一瞬间恢复到其先前的状态(在有人按下它之前),然后再赶上 firestore 数据。这使按钮闪烁一瞬间。

有任何想法吗?任何事情都值得赞赏我已经挠头好几天了......

标签: firebaseflutterdartgoogle-cloud-firestorestate

解决方案


推荐阅读