플러터 통신 3

김인범's avatar
Jan 13, 2025
플러터 통신 3
 
1
View 그림 그리기 실행 (main.dart)
2
~_page 이동 >> ~~_body로 이동
3
Body를 그릴 때, 필요한 데이터 << 통신으로 가져와야 됨 stl >> CosumerWidget으로 변경 (context, WidgetRef ref) >> ref 추가
3-1
Body에서 ref를 통해 provider가 창고(VM)생성 ref.watch(프로바이더 명);
4-1
VM 만들어질 때 통신을 통해 데이터 가져와야 됨. (repo 의존) 통신을 통해 데이터를 가져올 때 초기 데이터 상태 == null 이다. 만들어질(build) 될 때, 스스로 행위를 통해 repo에 요청을 한다.
4-2
Repository에서는 Future<반환 될 타입>함수명( ) async { ~~~await~~~ } 위 형태를 통해 비동기로 진행되고, 데이터가 오게되면
4-3
repo에서 요청한 데이터가 왔기 때문에 VM에서 상태가 변경된다.
5
3-1번 body에서 watch로 지속적으로 관찰하고 있기 때문에 VM의 status 가 바뀐 것을 보고 페이지에 적용 데이터가 있는 페이지로 그려진다. null이었을 때는 return Center(child: CircularProgressIndicator()); 를 사용해서 사용자에게 기다리는 화면으로 제공해준다.
 
Share article

taker