参数类型“Stream”无法分配给参数类型“Stream?”

2024-03-11

我想使用 Streams 使用 firebase 身份验证,但是我在网上收到上述错误stream: FirebaseAuth.instance.authStateChanges(),。我努力了onAuthStateChange()那也行不通。

class LandingPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    Widget build(BuildContext context) {
      return StreamBuilder<User>(
        stream: FirebaseAuth.instance.authStateChanges(),
        builder: (BuildContext context, AsyncSnapshot<User> snapshot) {
          if(snapshot.hasData) {
            print("data exists");
            return First();
          }
          else {
            return SignIn();
          }
        },
      );
    }
  }
}

如果您查看文档authStateChanges 验证状态更改 https://pub.dev/documentation/firebase_auth/latest/firebase_auth/FirebaseAuth/authStateChanges.html你会看到它返回一个Stream<User?>。所以你的StreamBuilder也应该是User?代替User:

return StreamBuilder<User?>(
  ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

参数类型“Stream”无法分配给参数类型“Stream?” 的相关文章

随机推荐