Gar*_*all 5 firebase-authentication flutter-web
我对 Flutter Web 非常陌生,并且一直在研究这个问题。这正是我在移动设备上对用户进行身份验证的方式,但是由于某种原因,当我在 flutter web 上使用热重载时,用户身份验证丢失并返回 null 并显示 CircularProgressIndicator(CPI)。
为什么要这样做?如果 null 被调用,那么它肯定应该显示 LoginPage() - 这是在页面最初加载时执行的 - 但是一旦我热重新加载它就会返回 null 和 CPI。
此外 - 我添加了一个打印语句来帮助我跟踪用户调用 - 并且注意到每次我导航到一个新页面时都会打印用户 ID 并想知道这是为什么?
我想达到的目标:
如上所述修复错误
class Landing extends StatelessWidget {
@override
Widget build(BuildContext context) {
final auth = Provider.of<UserRepository>(context, listen: false);
return StreamBuilder(
stream: auth.onAuthStateChanged,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.active) {
User user = snapshot.data;
print(user);
return user == null ? LoginPage() : HomePage();
} else
return Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
);
},
);
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |