Firebase中的UserCredential

问题描述

我第一次遇到Firebase错误,并且不确定为什么它一直显示错误错误

名称“ UserCredential”在库“ package:firebase / src / auth.dart(通过package:firebase / firebase.dart)”和“ package:firebase_auth / firebase_auth.dart”中定义。\ n尝试使用“ as”前缀”作为导入指令之一,或在除其中一项导入之外的所有其他隐藏该名称

import 'package:firebase_auth/firebase_auth.dart';
class AuthService {
  final FirebaseAuth _auth = FirebaseAuth.instance;

  // Create user object based on FirebaseUser
  CustomUsers _customModelForFirebaseUser(user) {
    return user != null ? CustomUsers(uid: user.uid) : null;
  }

  // auth changed user stream
  Stream<CustomUsers> get user {
    return _auth.authStateChanges().map(_customModelForFirebaseUser);
  }

  //Signin Anon
  Future signInAnon() async {
    try {
      UserCredential userCredential = await _auth.signInAnonymously();
      CustomUsers user = userCredential.user;
      print(_customModelForFirebaseUser(user));
    } catch (e) {
      print(e.toString());
      return null;
    }
  }

解决方法

程序包具有相同的类名,这会导致打包冲突。尝试这样隐藏其中之一

import 'package:firebase_auth/firebase_auth.dart' hide UserCredential;

有关更多说明,请查看此网站dart-flutter-how-to-solve-naming-conflict-or-ambiguous

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...