Bad state 에러
안녕하세요.
아래와 같은 오류가 나서 해결을 하려고 했습니다.
제공해주신 완성 본 코드와 비교하니 정확하게 일치했구요.
E/flutter (22734): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Bad state: GetIt: Object/factory with type StoreRepository is not registered inside GetIt. E/flutter (22734): (Did you accidentally do GetIt sl=GetIt.instance(); instead of GetIt sl=GetIt.instance;
이해가 안되어서 di_setup_config.dart파일을 보는데
const String dev = 'dev';
const String prod = 'prod';
extension GetItInjectableX on i174.GetIt {
// initializes the registration of main-scope dependencies inside of GetIt
i174.GetIt init({
String? environment,
i526.EnvironmentFilter? environmentFilter,
}) {
final gh = i526.GetItHelper(
this,
environment,
environmentFilter,
);
gh.singleton<_i149.LocationPermissionHandler>(
() => i399.MockLocationPermissionHandler(),
registerFor: {dev},
);
gh.singleton<_i872.StoreRepository>(
() => i399.MockStoreRepositoryImpl(),
registerFor: {dev},
);
gh.singleton<_i920.LocationRepository>(
() => i399.MockLocationRepositoryImpl(),
registerFor: {dev},
);
gh.singleton<_i716.GetNearByStoresUseCase>(
() => i716.GetNearByStoresUseCase(
storeRepository: gh<i872.StoreRepository>(),
locationRepository: gh<_i920.LocationRepository>(),
locationPermissionHandler: gh<_i149.LocationPermissionHandler>(),
));
gh.singleton<_i920.LocationRepository>(
() => i359.LocationRepositoryImpl(),
registerFor: {prod},
);
gh.singleton<_i872.StoreRepository>(
() => i303.StoreRepositoryImpl(),
registerFor: {prod},
);
gh.singleton<_i149.LocationPermissionHandler>(
() => i148.LocationPermissionHandlerImpl(),
registerFor: {prod},
);
gh.factory<_i912.MainViewModel>(
() => i912.MainViewModel(gh<i716.GetNearByStoresUseCase>()));
return this;
}
}
GetNearByStoresUseCase 코드가 prod버전의 코드들 보다 상위에 배치되어서 발생했습니다.
di_setup_config.dart파일을 자동으로 생성되는 파일인데 매번 dart run build_runner build 할 때 마다 일일이 수동으로 수정을 해줘야 할까요?
flutter pub run build_runner build --delete-conflicting-outputs
를 해도 동일합니다.
回答 1
0
여러가지 방법이 있는데요.
@singleton 어노테이션 대신에 @lazySingleton 으로 고쳐서 지연된 초기화를 하면 해결 될 것 같습니다.
혹시 해결 되셨는지 답변 기다리겠습니다.
198강 (){onTap(e);}의 이해 돕기
0
29
1
Node 관련 질문입니다
0
30
3
구글 소셜 로그인 후 로그인 시 구글에러
0
26
2
실습중(개인 비용 관리 앱) 문의드려요
0
43
2
6강에 비디오가 이상해요
0
27
2
Isar 마지막 업데이트는 2년전입니다.
0
30
0
수강연장부탁드려도될까요..
0
42
2
Chat GPT API 설정하기 프롬프트
0
46
2
FlutterSecureStorage 질문
0
31
0
구글 플레이 등록 시, Privact Policy URL 등록 팁
0
41
1
질문있습니다!
0
19
0
2-8강 Websocket server running on port가 안 뜹니다.
0
42
2
마스크 json url이 안보여서 공유합니다
0
66
1
DI 에 대해 문의 좀 드립니다.
0
114
2
여러 화면 di강의는 언제 나올 예정인가요?
0
187
1
Riverpod 프로바이더에 의존성 주입
0
955
1
remote data source impl
0
271
1
go router 의존성
0
282
1
객체가 아닌 일반 변수의 get it
0
282
1
뷰 모델 분리하기
0
334
1
네트워크 통신 에러 처리
0
331
1
데이터 추상화 문제
0
326
2
로그인(auth)관련 데이터 흐름
0
261
1
소스코드 공유
0
432
1

