편집 기능에서 색상 설정 질문
206
작성한 질문수 20
viewModel.onEvent(AddEditNoteEvent.changeColor(widget.note!.color));initState에서 위의 코드를 넣어주었습니다. 하지만 initState에서 notifyListners()를 호출해서 그런지 state 오류가 발생합니다.
제 머리로 생각할 수 있는 대안은
changeColor에 파라미터로 isRebuild 라는 bool 값을 받아서
기본 값을 true 해놓고, true일 때만 notifyListeners가 호출되게 하였습니다.
이렇게 플래그를 주는게 좋은 방법일까요?
아니면 다른 키워드 주실 수 있을까요?
답변 1
0
플래그가 코드 복잡성을 올리는 것 같으니
가장 좋은 대안은 화면을 Navigation.push 하기 전에 ViewModel에 색깔을 지정한 후에 화면을 이동하면 되지 않을까요.
0
그 방법은 생각하지 못했었네요. 그러면
note_screen의 gestureDetector 부분에
final addEditNoteViewModelViewModel = context.read<AddEditNoteViewModel>();addEditNoteViewModelViewModel.onEvent(AddEditNoteEvent.changeColor(note.color)); 위의 2줄 코드를 추가해주면 될까요?
혹시 그러하다면 한 스크린에 이렇게 다른 viewModel을 호출해도 상관이 없을까요?
0
ViewModel 을 앱 전체에서 하나의 인스턴스만 가지는 싱글턴으로 사용하기 때문에 문제 없을 것 같습니다.
더 나은 방법은 화면 이동시마다 ChangeNotifierProvider 설정을 새로 하여 ViewModel이 항상 새롭게 생성되도록 하는 방법도 있겠습니다. 이 때 ViewModel 생성시 노트 컬러를 생성자로 전달하는 방법이겠지요.
0
대략 이런 느낌으로 작성하면 매번 새로운 ViewModel을 생성하게 됩니다.
Navigator.push(
context,
MaterialPageRoute(builder: (context) =>
ChangeNotifierProvider(
create: (BuildContext context) {
return MainViewModel(color);
},
child: NextScreen(),
),
),
);
0
라우트 안에서 생성할 생각을 못했네요 또 한 번 배웁니다 감사합니다 ㅠㅠ. 적용했습니다.
이제 이번에 나온 강의 들으러 가겠습니다.
좋은 강의 감사합니다. 유튜브에서 multipart 강의도 보고 유용하게 사용했습니다 !
좋은하루 되세요 ^^!
MVVM, 클린 아키텍처 관련 질문 있습니다.
0
110
2
가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.
0
104
1
freezed 3.0 대응된 코드 깃헙에도 업데이트 해주실 수 있으신가요?
0
195
3
sealed class 사용시 기능은 동작하지만 Radio위젯에 선택 표시가 안되는 부분 질문
0
133
2
sealed class 사용시 The getter 'orderType' isn't defined for the type 'NoteOrder<dynamic>' 오류
0
102
2
유즈케이스 관련하여 질문 드립니다.
0
99
1
mockito사용시 오류 해결법
1
127
2
sealed class 사용 문의2
0
88
2
sealed class 사용 문의
0
123
2
freezed3.0에서 build시 when생성되지 않습니다.
0
275
2
Try implementing the missing methods, or make the class abstract. 문제해결 공유
0
246
2
This is likely caused by a misconfigured builder definition. 오류 해결 방법
1
332
3
강의 화면이 안보여요
0
142
3
Flutter에서 추천하는 Navigator, Router
0
335
2
The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]
0
331
3
event와 ui_event
0
217
1
코드 색깔 관련 질문
0
214
1
Photo.fleezed.dart,photo.g.dart삭제시 에러
0
216
2
sealed class 적용 시...
0
337
1
클린 아키텍처 질문
0
317
1
sealed class 데이터 접근
0
333
1
서버에서 데이터를 가져와서 사용하는 경우...
0
239
1
뷰/뷰모델 작성 질문
0
277
1
freezed JsonKey 사용 예시 공유
1
797
1





