我正在為 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);
}
}
回傳憑據。用戶;
沒有為“未來”型別定義 getter 'user'。(檔案)嘗試匯入定義“user”的庫,將名稱更正為現有 getter 的名稱,或者定義名為“user”的 getter 或欄位。
視頻中沒有這樣的問題。我該如何解決?
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();
}
}
uj5u.com熱心網友回復:
更改final credential = _firebaseAuth.signInWithEmailAndPassword(為final credential = await _firebaseAuth.signInWithEmailAndPassword(。
您必須等待signInWithEmailAndPassword完成才能回傳credential.user。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/395203.html
上一篇:Python+selenium 實作趣頭條的短視頻自動上傳與發布實體演示,同時支持抖音、快手、b站、小紅書等平臺的視頻自動化同步發布
