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

lew*_*ika 4 android firebase firebase-authentication flutter

我想使用 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();
          }
        },
      );
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 11

如果您查看authStateChanges的文档,您会发现它返回一个Stream<User?>. 所以你StreamBuilder也应该是 ofUser?而不是User

return StreamBuilder<User?>(
  ...
Run Code Online (Sandbox Code Playgroud)