Flutter:如果不使用firebaseauth,如何使用流和提供程序?

问题描述 投票:0回答:1

Flutter:如果我不使用firebaseauth,如何使用此流?

 User _(FirebaseUser user) {
    if (user == null) {
      return null;
    }
    return User(
      uid: user.uid,
      email: user.email,
      displayName: user.displayName,
      photoUrl: user.photoUrl,
    );
  }


    Stream<User> get onAuthStateChanged {
    return _firebaseAuth.onAuthStateChanged.map(_userFromFirebase);
    }

此刻在我的wrapper.dart中:

class Wrapper extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final user = Provider.of<int>(context);
    print(user);

    if (user == null) {
      return authenticate();
    } else {
      return home();
    }
  }
}

和在main.dart中:

class MyApp extends StatelessWidget {
  final String appTitle = 'TestApp';
  @override
  Widget build(BuildContext context) {
    return StreamProvider<User>.value(
      value: AuthService().user,
      child: MaterialApp(
        home: Wrapper(),
      ),
    );
  }
}

我的情况是我没有使用_firebaseAuth.onAuthStateChanged,我可以将其转换为其他内容吗?或如何实现类似的功能?

android flutter dart wrapper
1个回答
0
投票

是,您可以使用ValueNotifier添加用户变量的新值并创建一个流来知道该变量何时更改。另一种解决方案是使用httpdio使用套接字并连接到api。

© www.soinside.com 2019 - 2024. All rights reserved.