Provider
강의에서 이야기해주신 것 처럼 여러개의 Provider를 사용하기위해 MultiProvider를 사용하게되는데요.
이럴 때 일부 Provider가 일부 자식위젯에서만 사용될 경우
해당 자식 위젯에서만 선언하는 것과 최상위에 MultiProvider내에 전부 선언해서 사용하는 것 중 어떤 것을 선호하시나요?
그리고 왜 그런지 알 수 있을까요?
답변 1
1
DB 처럼 한번 생성후 재활용해도 되는 경우 최상위에 배치하여 싱글턴으로 제공하고, 매번 생성해야 하는 객체는 해당 위젯에 감싸는 방식을 사용합니다.
1
최상위에 배치하여 싱글턴으로 제공한다는 말이 잘 이해가 되지 않는데 조금만 더 자세히 설명이 가능할까요?
그리고 생성한 객체를 재활용을 하더라도, 최상위에 배치하면 notifiListener() 호출 시, 포함된 모든 위젯이 rebuild될텐데, 성능에 큰 관계가 없을까요?
1
최상위에 배치하면 하위 모든 위젯에서 참조가 가능하기 때문에 싱글턴이라고 표현을 했습니다.
말씀하신대로 상태를 가지는 ViewModel 의 경우는 빈번하게 변경되기 때문에 각 화면 생성시에 배치합니다.
데이터를 제공하는 객체들(Repository 등)의 경우에는 데이터 없이 행위만을 가지고 있기 때문에 변경이 안 되는 객체이므로 최상위에 배치해도 무방합니다.
MVVM, 클린 아키텍처 관련 질문 있습니다.
0
85
2
가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.
0
91
1
freezed 3.0 대응된 코드 깃헙에도 업데이트 해주실 수 있으신가요?
0
176
3
sealed class 사용시 기능은 동작하지만 Radio위젯에 선택 표시가 안되는 부분 질문
0
117
2
sealed class 사용시 The getter 'orderType' isn't defined for the type 'NoteOrder<dynamic>' 오류
0
92
2
유즈케이스 관련하여 질문 드립니다.
0
91
1
mockito사용시 오류 해결법
1
122
2
sealed class 사용 문의2
0
74
2
sealed class 사용 문의
0
116
2
freezed3.0에서 build시 when생성되지 않습니다.
0
263
2
Try implementing the missing methods, or make the class abstract. 문제해결 공유
0
236
2
This is likely caused by a misconfigured builder definition. 오류 해결 방법
1
315
3
강의 화면이 안보여요
0
133
3
Flutter에서 추천하는 Navigator, Router
0
322
2
The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]
0
324
3
event와 ui_event
0
211
1
코드 색깔 관련 질문
0
207
1
Photo.fleezed.dart,photo.g.dart삭제시 에러
0
203
2
sealed class 적용 시...
0
325
1
클린 아키텍처 질문
0
307
1
sealed class 데이터 접근
0
323
1
서버에서 데이터를 가져와서 사용하는 경우...
0
230
1
뷰/뷰모델 작성 질문
0
269
1
freezed JsonKey 사용 예시 공유
1
789
1





