Riverpod 프로바이더에 의존성 주입
안녕하세요.
선생님 강의를 듣고 MVVM 패턴에 DI 를 적용 해 보다가 질문이 있어 글 남깁니다.
저는 Riverpod Provider 를 적용 해 보려고 하는데요.
선생님께서 사용 하시는 ChangeNotifierProvider 에 DI 를 go_router 에 설정 하셨는데요.
만일 RiverPod Provider 를 사용 한다면 어떻게 적용 해야 할까요?
ViewModel안에서 UseCase를 생성자에서 받고 있어서 결국 라우터 안에 주입을 해 줘야 할꺼 같은데
RiverPod 프로바이더에서는 어떻게 해 줘야 할지 모르겠네요.ㅡ,.ㅡ
가이드 좀 부탁드립니다.

답변 1
1
Riverpod 을 어떤식으로 사용하시는지에 따라 방법이 달라집니다.
Riverpod을 활용하는 패턴이 다양하기 때문에 여러가지 해답이 있을 수 있습니다만 제가 하는 방식은 어떤 상태관리를 사용해도 패턴이 거의다 동일합니다. 제 방식을 기준으로 설명드리겠습니다.
ConsumerWidget으로 화면을 구성하여 WidgetRef 객체를 통해 ViewModel 주입을 받을 수 있기 때문에 Provider 처럼 go_router 에서 주입을 하지 않아도 되며, use case 는 injectable을 통해 자동으로 생성자 주입이 되도록 설정하시면 됩니다.
참고가 되도록 샘플코드 링크를 공유드리겠습니다.
ViewModel : https://github.com/junsuk5/flutter-contact/blob/riverpod/lib/contact/presentation/riverpod_view_model.dart
라우터 : https://github.com/junsuk5/flutter-contact/blob/riverpod/lib/core/router.dart
vscode or 안드로이드 디바이스가 아닌 웹으로 실행했을때..
0
43
2
성능 분석 툴 공유
1
58
2
146 자료는 학습완료가 체크가 안돼요
0
41
1
'플러터 개발환경 세팅하기' 링크 클릭시, 악성 스크립트 설치 유도 페이지로 이동하니 조심하시길 바랍니다.
0
80
2
[강의 문의] '앱 출시하기' 강의 추가 일정 관련하여 문의드립니다.
0
47
1
안드로이드 기기 실행 오류
0
71
2
수강연장 가능할까요...
0
66
2
플러터 세팅 후 새폴더 생성건
0
66
2
강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.
0
68
2
강의 자료는 어디있나요?
0
52
1
이미지 업로드해도 프로필에 x만 떠요
0
74
3
cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?
0
86
2
마스크 json url이 안보여서 공유합니다
0
95
1
DI 에 대해 문의 좀 드립니다.
0
140
2
Bad state 에러
0
225
1
여러 화면 di강의는 언제 나올 예정인가요?
0
204
1
remote data source impl
0
294
1
go router 의존성
0
310
1
객체가 아닌 일반 변수의 get it
0
300
1
뷰 모델 분리하기
0
363
1
네트워크 통신 에러 처리
0
353
1
데이터 추상화 문제
0
356
2
로그인(auth)관련 데이터 흐름
0
278
1
소스코드 공유
0
454
1





