【发布时间】:2022-01-11 19:10:20
【问题描述】:
我收到此错误:The argument type 'AppUser? Function(User)' can't be assigned to the parameter type 'User Function(User?)'.
我发现另一个关于此主题的 stackoverflow 问题,但该解决方案对我不起作用
这是我的代码中出现错误的部分:
AppUser? _userFromFirebaseUser(User user) {
return user != null ? AppUser(uid: user.uid) : null;
}
Stream<User> get user {
return _auth.authStateChanges().map(_userFromFirebaseUser);
}
【问题讨论】:
-
(User user) 如果您不在“_userFromFirebaseUser”方法中为 (User? user) 更改它,则永远不能为空。没错,您的代码中存在问题之一。您还将和 User 映射到 AppUser 但期望 User 以换取您的 Stream,这是另一个问题。