StreamBuilder小部件不会更新UI,当我单击Sign Up时,我仍然会看到包含两个按钮Log In和Sign Up的ChoiceScreen,它会将我带到SignUpSCreen,这与LoginScreen非常相似,但是当我尝试以注册用户身份登录时,StreamBuilder不会更新Ui并显示ChatScreen小部件,除非我重新运行应用程序或执行热重启来查看更新的UI。
这是我尝试过的:
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();
},
),逻辑似乎起作用了,我得到了:
I/flutter ( 5194): stream builder
I/flutter ( 5194): valid token .. user logged in但它没有返回我所期望的屏幕...正如我所提到的,我应该执行热重启才能看到它。
我尝试过this,但问题仍然存在。
如有任何建议或建议,我们将不胜感激。谢谢。
发布于 2020-06-28 22:11:24
我认为首先你必须初始化一个变量。例如,
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();
},
),https://stackoverflow.com/questions/62565264
复制相似问题