【问题标题】:The class 'User' does not have a default constructor. Firebase“用户”类没有默认构造函数。火力基地
【发布时间】:2021-08-08 22:38:26
【问题描述】:

我对 Flutter/firebase 还是很陌生,在将一些旧代码迁移到最新版本的 firebase 时遇到问题。

import 'package:firebase_auth/firebase_auth.dart';

import 'database.dart';

class AuthService {

  final FirebaseAuth _auth = FirebaseAuth.instance;

  User _userFromFirebaseUser(User user) {
    return user != null ? User(uid: user.uid) : null;
  }

  // Auth change user stream
  Stream<User> get user {

    return _auth.authStateChanges().map(
            (User user) => _userFromFirebaseUser(user)
    );
  }
}

【问题讨论】:

标签: firebase flutter dart firebase-authentication


【解决方案1】:

我想你在导入的用户模型中存在冲突,所以我只是将数据库导入文件命名为 db 并将其中的用户与 db.User 一起使用

我认为它会像这样工作

import 'package:firebase_auth/firebase_auth.dart';

import 'database.dart' as db;

class AuthService {

  final FirebaseAuth _auth = FirebaseAuth.instance;

  db.User _userFromFirebaseUser(User user) {
    return user != null ? db.User(uid: user.uid) : null;
  }

  // Auth change user stream
  Stream<db.User> get user {

    return _auth.authStateChanges().map(
            (User user) => _userFromFirebaseUser(user)
    );
  }
}

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 2022-01-01
    • 2023-03-20
    • 2016-07-18
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2012-09-01
    相关资源
    最近更新 更多