![](/img/trans.png)
[英]Flutter firestore google service not found and ignoring header x-firebase-locale because its value was null
[英]The parameter 'firebaseFirestore' can't have a value of 'null' because of its type, but the implicit default value is 'null' in flutter
我聲明了兩個FirebaseFirestore
和FireBaseAuth
類型的變量,現在我面臨 null 安全錯誤。 我在我的 class 中使用構造函數,並將它們作為參數傳遞,但出現錯誤 - The parameter 'firebaseFirestore' can't have a value of 'null' because of its type, but the implicit default value is 'null' in flutter
和The parameter 'firebaseAuth' can't have a value of 'null' because of its type, but the implicit default value is 'null' in flutter
。
包含我的問題的代碼部分是 -
import 'package:flutter_instagram_clone_final/repositories/repositories.dart';
import 'package:firebase_auth/firebase_auth.dart' as auth;
class AuthRepository extends BaseAuthRepository {
final FirebaseFirestore _firebaseFirestore;
final auth.FirebaseAuth _firebaseAuth;
AuthRepository({
FirebaseFirestore firebaseFirestore,
auth.FirebaseAuth firebaseAuth,
}) : _firebaseFirestore = firebaseFirestore ?? FirebaseFirestore.instance,
_firebaseAuth = firebaseAuth ?? auth.FirebaseAuth.instance;
然后我嘗試用實例初始化它,比如 -
FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance,
但它給了我一個錯誤 - The default value of an optional parameter must be constant.
為了保證您永遠不會看到具有不可為空類型的 null 參數,類型檢查器要求所有可選參數都具有可空類型或默認值。
您需要使firebaseFirestore
和firebaseAuth
可以為空,因為它們是可選的並且它們的默認值不是恆定的。
你可以通過添加來做到這一點?
在類型之后。
像這樣:
FirebaseFirestore? firebaseFirestore,
auth.FirebaseAuth? firebaseAuth,
所以你的構造函數可以更新為:
AuthRepository({
FirebaseFirestore? firebaseFirestore,
auth.FirebaseAuth? firebaseAuth,
}) : _firebaseFirestore = firebaseFirestore ?? FirebaseFirestore.instance,
_firebaseAuth = firebaseAuth ?? auth.FirebaseAuth.instance;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.