inflearn logo
강의

Course

Instructor

Flutter Intermediate Part 3 - Dependency Injection Guide

Riverpod 프로바이더에 의존성 주입

Resolved

963

kwangtaeseo9119

3 asked

0

안녕하세요.

선생님 강의를 듣고 MVVM 패턴에 DI 를 적용 해 보다가 질문이 있어 글 남깁니다.

저는 Riverpod Provider 를 적용 해 보려고 하는데요.

선생님께서 사용 하시는 ChangeNotifierProvider 에 DI 를 go_router 에 설정 하셨는데요.

만일 RiverPod Provider 를 사용 한다면 어떻게 적용 해야 할까요?

ViewModel안에서 UseCase를 생성자에서 받고 있어서 결국 라우터 안에 주입을 해 줘야 할꺼 같은데

RiverPod 프로바이더에서는 어떻게 해 줘야 할지 모르겠네요.ㅡ,.ㅡ

가이드 좀 부탁드립니다.

 

flutter mvvm provider 클린-아키텍처 dependency

Answer 1

1

survivalcoding

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/contact/presentation/contact_list_screen.dart

주입할 객체 : https://github.com/junsuk5/flutter-contact/blob/riverpod/lib/contact/data/repository/contact_repository_impl.dart

라우터 : https://github.com/junsuk5/flutter-contact/blob/riverpod/lib/core/router.dart

 

0

kwangtaeseo9119

아..네네... 답변 감사합니다

cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?

0

14

1

강의 잘 봤습니다.

0

30

2

강의를 다 듣고난 후

0

36

2

25강 앱 아이콘 만드는 방법에서 그래픽 소스는 어디에 있나요?

0

28

1

자동화 프로그램 프로젝트

0

36

1

198강 (){onTap(e);}의 이해 돕기

0

53

1

Node 관련 질문입니다

0

62

3

구글 소셜 로그인 후 로그인 시 구글에러

0

53

2

실습중(개인 비용 관리 앱) 문의드려요

0

55

2

6강에 비디오가 이상해요

0

46

2

Isar 마지막 업데이트는 2년전입니다.

0

53

0

수강연장부탁드려도될까요..

0

66

2

마스크 json url이 안보여서 공유합니다

0

79

1

DI 에 대해 문의 좀 드립니다.

0

127

2

Bad state 에러

0

200

1

여러 화면 di강의는 언제 나올 예정인가요?

0

192

1

remote data source impl

0

283

1

go router 의존성

0

294

1

객체가 아닌 일반 변수의 get it

0

288

1

뷰 모델 분리하기

0

344

1

네트워크 통신 에러 처리

0

338

1

데이터 추상화 문제

0

340

2

로그인(auth)관련 데이터 흐름

0

268

1

소스코드 공유

0

441

1