riverpod 에서 상태가 여러개일 때
Riverpod을 이용해서 MVVM 구조로 변경중인데 하나의 뷰모델에서 여러개의 상태관리가 필요한 경우에는 어떻게 해야되나요?
올려주신 riverpod을 이용한 mvvm 코드를 참고해봤는데 각 뷰 별로 상태가 한개라 어려움이 있습니다.
여러개 상태를 하나의 객체로 만들어서 관리를 해야될까요?
답변 1
2
안녕하세요.
Riverpod 버전 코드에 product_view_state.dart 파일을 보시면, isBusy, count, colorIndex 3가지 상태를 하나의 상태 클래스로 관리하고 있습니다. 말씀해 주신 여러개 상태를 하나의 객체로 만들어 관리하는 방법이라고 이해하시면 될 것 같습니다.
class ProductViewState extends BaseViewState {
const ProductViewState({
required this.isBusy,
required this.count,
required this.colorIndex,
});
@override
final bool isBusy;
/// 선택한 수량
final int count;
/// 선택한 색상
final int colorIndex;
ProductViewState copyWith({
bool? isBusy,
int? count,
int? colorIndex,
}) {
return ProductViewState(
isBusy: isBusy ?? this.isBusy,
count: count ?? this.count,
colorIndex: colorIndex ?? this.colorIndex,
);
}
}위와 같이 하나의 상태 객체를 만들어 진행해 보시고, 만약 여러 Notifier에서 동기화가 필요한 상태가 있다면 별도 Notifier를 만들어 builder 함수에서 동기화 시키는 방향으로 진행하시면 될 것 같습니다. (상태 관리 강의 Riverpod → Riverpod 상호 작용 챕터 참고)
감사합니다 🙂
수강 기한 연장 요청드려도될까요..
1
48
2
37.provider 실습 문제점, 카트에서 상품이 지워지지 않습니다.
1
75
2
다트 프로젝트
1
51
2
context.read<LangService>().toggleLang 해도 언어가 변경되는 이유
1
74
3
수강 기간 연장 신청 요청드립니다.
1
68
3
수강기간 연장 부탁드립니다.
1
58
3
제공해주신 flutter_design_system 라이브러리 질문입니다.
1
53
2
수강 기간 연장 부탁드립니다
1
52
2
수강 기한 연장
1
78
3
강의 잘 보고있습니다!
1
59
2
애뮬레이터 실행 오류
1
69
2
pdf 강의노트
1
62
2
수강기간 연장 부탁드립니다.
1
86
2
수강 기간 연장 요청
1
86
2
수강기간 연장 부탁드립니다
1
129
2
코드 생성기 - build runner 관련 오류
1
110
1
디자인 시스템 구성에 대해 질문 드립니다
2
145
2
CartItem 추가시
1
95
2
const 커스텀클래스
1
95
1
강의 수강 기간 연장 요청드립니다.
1
127
2
코드 생성기 - 실습 build runner 안 되는 분.
1
270
2
Flutter 강의자료 열리지 않는 문제
1
165
2
riverpod 프로젝트에 궁금한점이 있어 질문 남깁니다.
1
123
2
수강 기강 연장 부탁드리겠습니다! :ㅇ
1
88
2





