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