onAuthStateChanged
不再听取更改,所以基本上,当我创建一个新帐户或登录到一个现有的,它卡在加载旋转器,但用户确实创建了它在firebase用户。我使用StreamBuilder
:
home:StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (ctx, userSnapshot) {
if (userSnapshot.hasData) {
return SellerScreen(docsRef);
}
return AuthScreen();
},
),
控制台显示的内容:
D/FirebaseAuth( 9477): Notifying id token listeners about user ( VQghDgOucFdCcWLdPlCJNTd5eO72 ).
D/FirebaseAuth( 9477): Notifying auth state listeners about user ( VQghDgOucFdCcWLdPlCJNTd5eO72 ).
控制台中的代码规定用户已创建或已登录。
你的问题可能是你的旋转器部件在代码中的位置…能给我一个片段看看能不能帮上忙吗?
…在任何情况下,我通常做的是:
bool loading = false;
@override
Widget build(BuildContext context) {
return loading ? Loading() : HomeScreen();
}
有了这个,我告诉flutter显示加载屏幕,而用户是created
或signed in
。bool类型加载只是为了在加载小部件的true
和false
状态之间切换