Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 初始值设定项类型';AuthRepository?&x27;can';不能分配给字段类型';AuthRepository';飘飘然_Android_Firebase_Flutter_Dart_Dart Null Safety - Fatal编程技术网

Android 初始值设定项类型';AuthRepository?&x27;can';不能分配给字段类型';AuthRepository';飘飘然

Android 初始值设定项类型';AuthRepository?&x27;can';不能分配给字段类型';AuthRepository';飘飘然,android,firebase,flutter,dart,dart-null-safety,Android,Firebase,Flutter,Dart,Dart Null Safety,错误出现在authRepository部分的第6行(在第一个代码段或主代码部分) 主代码- class AuthBloc extends Bloc<AuthEvent, AuthState> { final AuthRepository _authRepository; var v; AuthBloc({ @required AuthRepository? authRepository }) : _authRepository = authRepositor

错误出现在authRepository部分的第6行(在第一个代码段或主代码部分)

主代码-

class AuthBloc extends Bloc<AuthEvent, AuthState> {
  final AuthRepository  _authRepository;
  var v;
  AuthBloc({
    @required AuthRepository? authRepository
  }) : _authRepository = authRepository super(AuthState.unknown());

您正在尝试将可为空的变量分配给不可为空的变量。对构造函数使用语法糖(
this.var
syntax),并使用位置参数

class AuthBloc扩展了Bloc{
最终AuthRepository\u AuthRepository;
var v;
AuthBloc(this.\u authRepository):超级(AuthState.unknown());
}
其他解决方案

如果仍要对私有成员使用所需的命名参数,请将
\u authRepository
设置为可为空的变量,这将需要在使用该变量的任何位置进行更改(
\u authRepository

class AuthBloc扩展了Bloc{
最终AuthRepository?\u AuthRepository;
var v;
AuthBloc({
@必需的AuthRepository?AuthRepository
}):_authRepository=authRepository super(AuthState.unknown());
}

然后此错误出现在authRepository的第6行(在您的代码中)-参数“authRepository”的值不能为“null”,因为其类型不同,但隐式默认值为“null”。已更新我的答案。
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;
class AuthBloc extends Bloc<AuthEvent, AuthState> {
  final AuthRepository?  _authRepository;
  var v;
  AuthBloc({
    @required AuthRepository? authRepository
  }) : _authRepository = authRepository super(AuthState.unknown());
}