firebase - 如何使用 Firebase 身份验证获取 onAuthStateChanged 流?
问题描述
我使用颤振插件 firebase_auth: ^0.18.4+1
我在编辑器中收到此警告:
函数表达式类型“String Function(FirebaseUser)”不是“String Function(User)”类型。这意味着它的参数或返回类型与预期不匹配。考虑更改参数类型或返回的类型。
FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Stream<String> get onAuthStateChanged =>
_firebaseAuth.onAuthStateChanged.map((FirebaseUser user) => user?.uid);
'onAuthStateChanged' 也被弃用了。如何更改它以获取 onAuthStateChanged 上的流?
解决方案
改变这个:
FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Stream<String> get onAuthStateChanged =>
_firebaseAuth.onAuthStateChanged.map((FirebaseUser user) => user?.uid);
进入这个:
FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Stream<String> get onAuthStateChanged =>
_firebaseAuth.authStateChanges().map((User user) => user?.uid);
您需要使用User
class 而不是FirebaseUser
.
推荐阅读
- r - 使用 R 中的特殊字符访问主题的帮助页面
- django - Django admin list_filter return ''str' object has no attribute 'days' for DurationField
- c# - 选择并单击 iframe
- python - plt.show() 不会在 jupyter 笔记本上渲染图像
- r - 连接ggplot2中geom_jitter点的线
- ruby-on-rails - 如何从动态生成的表单提交输入?
- android - 应用程序可能在其主线程上做了太多工作。飘飘然
- asp.net-core - ASP.NET Core Url 仅重写子站点的域名 www.olddomain.com/subsite
- linux - Linux中是否有任何内核函数可以将文件描述符转换为磁盘驱动器中的逻辑地址?
- firebase - 当应用程序进入前台时,Flutter FirebaseMessaging 通知会自动删除