首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter - StreamBuilder不更新UI

Flutter - StreamBuilder不更新UI
EN

Stack Overflow用户
提问于 2020-06-25 06:52:40
回答 1查看 713关注 0票数 2

StreamBuilder小部件不会更新UI,当我单击Sign Up时,我仍然会看到包含两个按钮Log InSign UpChoiceScreen,它会将我带到SignUpSCreen,这与LoginScreen非常相似,但是当我尝试以注册用户身份登录时,StreamBuilder不会更新Ui并显示ChatScreen小部件,除非我重新运行应用程序或执行热重启来查看更新的UI。

这是我尝试过的:

代码语言:javascript
复制
StreamBuilder(
            stream: FirebaseAuth.instance.onAuthStateChanged,
            builder: (context, userSnap){
              print('stream builder');
              // a valid token
              if(userSnap.hasData){
                print('valid token .. user logged in');
                return ChatScreen();
              }
              print('not yet');
              return ChoiceScreen();
            },
          ),

逻辑似乎起作用了,我得到了:

代码语言:javascript
复制
I/flutter ( 5194): stream builder
I/flutter ( 5194): valid token .. user logged in

但它没有返回我所期望的屏幕...正如我所提到的,我应该执行热重启才能看到它。

我尝试过this,但问题仍然存在。

如有任何建议或建议,我们将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-28 22:11:24

我认为首先你必须初始化一个变量。例如,

代码语言:javascript
复制
StreamBuilder(
            stream: FirebaseAuth.instance.onAuthStateChanged,
            builder: (context, userSnap){
              print('stream builder');
              var data = usersSnap.data;
            
              if(data.hasData){
                print('valid token .. user logged in');
                return ChatScreen();
              }
              print('not yet');
              return ChoiceScreen();
            },
          ),
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62565264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档