Firebase 参数类型';UserRepository/*1*/';can';不能分配给参数类型';UserRepository/*2*/';
在main.dart中,我得到以下错误: 无法将参数类型“UserRepository/1/”分配给参数类型“UserRepository/2/” 代码如下:Firebase 参数类型';UserRepository/*1*/';can';不能分配给参数类型';UserRepository/*2*/';,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,在main.dart中,我得到以下错误: 无法将参数类型“UserRepository/1/”分配给参数类型“UserRepository/2/” 代码如下: void main() { WidgetsFlutterBinding.ensureInitialized(); final UserRepository _userRepository = UserRepository(); BlocSupervisor.delegate = SimpleBlocDelegate();
void main() {
WidgetsFlutterBinding.ensureInitialized();
final UserRepository _userRepository = UserRepository();
BlocSupervisor.delegate = SimpleBlocDelegate();
runApp(BlocProvider(
create: (context) => AuthenticationBloc(userRepository: _userRepository)
..add(AppStarted()),
child: Home(userRepository: _userRepository)));
}
类AuthenticationBloc如下所示:
class AuthenticationBloc
extends Bloc<AuthenticationEvent, AuthenticationState> {
final UserRepository _userRepository;
AuthenticationBloc({@required UserRepository userRepository})
: assert(userRepository != null),
_userRepository = userRepository;
@override
AuthenticationState get initialState => Uninitialized();
...
class AuthenticationBloc
扩展集团{
最终用户存储库_UserRepository;
AuthenticationBloc({@required UserRepository UserRepository})
:assert(userRepository!=null),
_userRepository=userRepository;
@凌驾
AuthenticationState get initialState=>Uninitialized();
...
如何解决这个问题?如果我不得不猜测,我会说您有两个名为UserRepository的类。UserRepository是抽象类还是具体类?在BloC示例中,
UserRepository
是一个抽象类,因此您需要创建一个名为UserRepositoryImpl
的具体类,以便实现其方法。因此,您的代码应该如下所示:final UserRepository\u UserRepository=UserRepositoryImpl()
我看到我在我的身份验证bloc.dart中导入了userRepository.dart两次……但现在我得到了以下错误:断言失败:第12行第16位:“userRepository!=null”:不正确。这在上面代码的这一部分:断言(userRepository!=null)