错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义
Posted
技术标签:
【中文标题】错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义【英文标题】:Error: The name 'User' is defined in the libraries 'package:firebase_auth/firebase_auth.dart' and 'package:quizmaker/models/user.dart' 【发布时间】:2021-10-14 09:18:51 【问题描述】:Dart 分析显示以下错误:
错误:未定义的类“FirebaseUser”。 ([quizmaker] lib\services\auth.dart:7 处的 undefined_class)
。 (ambiguous_import at [quizmaker] lib\services\auth.dart:7)
。 (ambiguous_import at [quizmaker] lib\services\auth.dart:8)
错误:“用户”不是函数。 (invocation_of_non_function at [quizmaker] lib\services\auth.dart:8)
。 (ambiguous_import at [quizmaker] lib\services\auth.dart:15)
代码如下:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:quizmaker/models/user.dart';
class AuthService
FirebaseAuth _auth = FirebaseAuth.instance;
User _userFromFirebaseUser(FirebaseUser user)
return user != null ? User(uid: user.uid) : null;
Future signInEmailAndPassword(String email, password) async
try
UserCredential authResult = await _auth.signInWithEmailAndPassword(
email: email, password: password);
User? firebaseUser = authResult.user;
return _userFromFirebaseUser(firebaseUser);
catch (e)
print(e.toString());
【问题讨论】:
【参考方案1】:import 'package:quizmaker/models/user.dart' as u;
.
.
u.User _userFromFirebaseUser(FirebaseUser user)
return user != null ? u.User(uid: user.uid) : null;
该错误是因为 FirebaseAuth 库中存在 User
对象,并且您的自定义模型中也存在。您必须从您的进口中指定哪个是哪个。
将自定义模型中的一个导入为u
,如上面的代码所示,当您在函数中使用它时,将其称为u.user
。
【讨论】:
以上是关于错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义的主要内容,如果未能解决你的问题,请参考以下文章
Windows phone 7:获取存储在库图片中的照片名称?
Unordered map 有一个错误,指出函数本身在库 C++ 中不存在
在库中使用 CMake "set(XXXX CACHE ...)" 是一个错误吗?