getter 'user' 没有为类型 'Future<UserCredential>' 定义。 (FİREBASE AUTH)

The getter 'user' isn't defined for the type 'Future<UserCredential>'. (FİREBASE AUTH)

我正在学习 Flutter 课程,但我认为该课程有点旧,我收到这样的错误, 在这条线上;

@override
  Future<auth.User?> logInWithEmailAndPassword(
      {@required String? email,
        @required String? sifre,
      }) async {
    try{
      final credential = _firebaseAuth.signInWithEmailAndPassword(
        email: email!,
        password: sifre!,
      );
      return credential.user;
    } on auth.FirebaseAuthException catch (err) {
      throw Failure(code: err.code, message: err.message);
    } on PlatformException catch (err) {
      throw Failure(code: err.code, message: err.message);
    }
  }

return credential.user;

getter 'user' 没有为类型 'Future' 定义。 (文档)尝试导入定义 'user' 的库,将名称更正为现有 getter 的名称,或者定义一个 getter 或名为 'user'.[=16 的字段=]

视频中没有这个问题。我该如何解决?

import 'package:basla/config/paths.dart';
import 'package:basla/depolar/depolar.dart';
import 'package:basla/models/models.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart' as auth;
import 'package:flutter/services.dart';
import 'package:meta/meta.dart';

class AuthRepository extends BaseAuthRepository {
  late final FirebaseFirestore _firebaseFirestore;
  late final auth.FirebaseAuth _firebaseAuth;

  AuthRepository({
    FirebaseFirestore? firebaseFirestore,
    auth.FirebaseAuth? firebaseAuth,
  })  : _firebaseFirestore = firebaseFirestore ?? FirebaseFirestore.instance,
        _firebaseAuth = firebaseAuth ?? auth.FirebaseAuth.instance;

  @override
  Stream<auth.User?> get user => _firebaseAuth.userChanges();

  @override
  Future<auth.User?> signUpWithEmailAndPassword(
      {@required String? kullaniciadi,
      @required String? email,
      @required String? sifre}) async {
    try {
      final credential = await _firebaseAuth.createUserWithEmailAndPassword(
        email: email!,
        password: sifre!,
      );
      final user = credential.user;
      _firebaseFirestore.collection(Paths.users).doc(user?.uid).set({
        'Kullanıcı Adı': kullaniciadi,
        'Email': email,
        'Takipci': 0,
        'Takip ': 0
      });
      return user;
    } on auth.FirebaseAuthException catch (err) {
      throw Failure(code: err.code, message: err.message);
    } on PlatformException catch (err) {
      throw Failure(code: err.code, message: err.message);
    }
  }

  @override
  Future<auth.User?> logInWithEmailAndPassword(
      {@required String? email,
        @required String? sifre,
      }) async {
    try{
      final credential = _firebaseAuth.signInWithEmailAndPassword(
        email: email!,
        password: sifre!,
      );
      return credential.user;
    } on auth.FirebaseAuthException catch (err) {
      throw Failure(code: err.code, message: err.message);
    } on PlatformException catch (err) {
      throw Failure(code: err.code, message: err.message);
    }
  }

  @override
  Future<void> logOut() async {
    await _firebaseAuth.signOut();
  }
}

final credential = _firebaseAuth.signInWithEmailAndPassword( 更改为 final credential = await _firebaseAuth.signInWithEmailAndPassword(

您必须等待 signInWithEmailAndPassword 完成才能返回 credential.user