【发布时间】:2020-05-15 19:26:26
【问题描述】:
我在颤振应用程序中使用 Firebase 身份验证。当用户注册或登录时,我可以看到 FirebaseAuth.instance.onAuthStateChanged 被调用 但 Streambuilder 没有更新小部件。我还注意到有时在用户登录后甚至没有调用 FirebaseAuth.instance.onAuthStateChanged。但是当我重新加载屏幕或重新运行应用程序时,我可以看到用户已登录。下面是我的流生成器代码。
return StreamBuilder<FirebaseUser>(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (ctx, userSnapshot) {
if (userSnapshot.hasData) {
print(userSnapshot.data);
print('data changed');
return FutureBuilder(
future: Future.delayed(Duration(seconds: 1)),
builder: (ctx, asyncdata) {
if (asyncdata.connectionState == ConnectionState.done) {
print('user has data');
return UserList();
} else {
return Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
);
}
},
);
} else {
print('load auth screen');
return AuthScreen();
}
},
);
【问题讨论】:
-
我也遇到了同样的问题,你解决了吗?
标签: flutter firebase-authentication