【问题标题】:Error: The name 'User' is defined in the libraries 'package:firebase_auth/firebase_auth.dart' and 'package:quizmaker/models/user.dart'错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义
【发布时间】:2021-10-14 09:18:51
【问题描述】:

Dart 分析显示以下错误:

错误:未定义的类“FirebaseUser”。 ([quizmaker] lib\services\auth.dart:7 处的 undefined_class)

错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。 (ambiguous_import at [quizmaker] lib\services\auth.dart:7)

错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。 (ambiguous_import at [quizmaker] lib\services\auth.dart:8)

错误:“用户”不是函数。 (invocation_of_non_function at [quizmaker] lib\services\auth.dart:8)

错误:名称“用户”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。 (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());
    }
  }
}

【问题讨论】:

    标签: flutter dart flutter-layout flutter-dependencies dart-pub


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      相关资源
      最近更新 更多