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,我可以将其转换为其他内容吗?或如何实现类似的功能?
是,您可以使用ValueNotifier添加用户变量的新值并创建一个流来知道该变量何时更改。另一种解决方案是使用http或dio使用套接字并连接到api。