데이터 통신 기초와 JSON 학습
MVVM 아키텍쳐 개념 이해
Riverpod 기초 강의 수강
Model / View / ViewModel 로 역할을 나눠서 개발하는 구조
Model : 데이터를 서버 등에서 가지고 오는 계층
View : 화면을 구현하는 계층
ViewModel : Model 계층에서 데이터를 가지고 와서 가공하는 계층
로직과 UI가 분리돼서
코드가 깔끔해지고
유지보수가 쉬워짐
StatefulWidget 하나에 다 넣는 방식보다 훨씬 구조적 + 깔끔
View가 ViewModel 구독(변경되는지 바라보고 있음)
사용자 클릭
로직 처리
데이터 요청해서 데이터 받음
받은 데이터 가공 및 상태 업데이트
자신의 상태가 바뀌었다고 알림(View가 누군지는 모름)
View는 ViewModel을 구독하고 있기 때문에 상태가 바뀌었다는걸 감지.
화면 업데이트
개발자가 상태관리를 편하게 할 수 있도록 도와주는 라이브러리
ViewModel 의 역할(상태를 관리 및 변경 알림)을 쉽게 구현가능
View(Widget)에서 ViewModel의 관찰을 쉽게 하게 해줌
중요 포인트
상태 변경 시 state = 새로운 객체로 할당해야 함
기존 객체 값만 바꾸면 View가 변경을 감지 못함
ref.watch()
→ 상태 변경 감지 + 자동 rebuild
ref.read()
→ 한 번만 읽기 (변경 감지 X)
Riverpod 강의 마저 듣기
코딩 특강 듣고 실습