# #firebase #dart #firebase-authentication
Вопрос:
Мне было интересно, могу ли я столкнуться с какими-либо проблемами, если я буду использовать FirebaseAuth.instance.currentUser
напрямую, а не использовать my AuthProvider
, чтобы получить пользователя, а затем передать его любым методам, которые в этом нуждаются.
AuthProvider.dart
class AuthProvider with ChangeNotifier { final GoogleSignIn _googleSignIn = GoogleSignIn(scopes: lt;Stringgt;['email']); final _firebaseAuth = FirebaseAuth.instance; final _fbAuth = FacebookAuth.instance; UserCredential? _userCredential; UserCredential get userCredential =gt; _userCredential!; User? _user; User get user =gt; _user!; Futurelt;voidgt; signUpWithEmailAndPassword( {required BuildContext context, required EmailAuthModel emaildAndPass}) async { try { UserCredential userCredential = await _firebaseAuth.createUserWithEmailAndPassword( email: emaildAndPass.email, password: emaildAndPass.password); _userCredential = userCredential; _user = userCredential.user; mySnackBar(context, false, 'Registration successful'); await Future.delayed(const Duration(seconds: 1)); notifyListeners(); } on FirebaseAuthException catch (e) { String errorMessage = getMessageFromErrorCodeOnSignUp(e); mySnackBar(context, true, errorMessage); } catch (e) { mySnackBar(context, true, 'Something went wrong'); } } // ...googleSignIn, FacebookSignIn ... }
Службы огненных бурь.дротик
Futurelt;YearlyReportArchivegt; getYearlyArchive(User user, int year) { final uid = user.uid; final _firebaseAuth = FirebaseAuth.instance; final directUid = _firebaseAuth.currentUser!.uid; DocumentReference ref = _db.doc('users/$uid/archive/$year'); var document = ref.get(); return document.then((value) =gt; YearlyReportArchive.fromDoc(value)); }
Есть ли какая-то причина, по которой я не должен использовать duirectUid
вместо uid
этого ?