参数类型“用户?”不能分配给参数类型 'Future<Object?>?'

时间:2021-06-10 16:07:43

标签: firebase flutter dart firebase-authentication flutter-futurebuilder

参考最近关于 FirebaseUserUser 的更改。 FirebaseAuth.instance.currentUser() 根本没有找到(通过错误“表达式不计算为函数,因此无法调用它。”
然而,解决方案是简单地将括号删除为 FirebaseAuth.instance.currentUser。但现在我们有另一个错误,它不是未来类型,即 “无法将参数类型 User 分配给参数类型 { {1}}”。

以下是我的代码块。

Future<Object?>?

在上面的代码块中,我打算为我的“FutureBuilder”提供未来。总之,之前`FirebaseUser` 对象确实返回了一个future,但可能`User` 不再返回了。我该如何处理这个案子?
提前致谢。

1 个答案:

答案 0 :(得分:1)

我通常不会用 FutureBuilder 这样做。拥有用户后,您无需对其进行异步操作。

final FirebaseAuth_auth = FirebaseAuth.instance();    
final User? user;
user = _auth.currentUser;

然后,如果 user != null ....create your ListView else,返回一个 CircularProgressIndicator 或其他什么。

查找 Net Ninja 的一些不错的视频,让您自己设置所有这些,只需为您的项目创建一个基于 userChanges() 的流。更强大的设置。