• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

2장 ViewModel만들기- 데이터를 가져오는 코드 만들기 부분

21.05.15 23:39 작성 조회수 129

-1

안녕하세요,

2장 ViewModel만들기의 11:00 부분부터 처음에 데이터를 가져오는 코드를 작성하는 설명이 시작됩니다.

여기서 두가지 옵션이 있다고 말씀하셨고, 강의에서 시범을 보여주신 방법은 viewModel 클래스에서 StoreModel생성할 때 였습니다.

두가지 질문 드립니다.

질문1.

StoreModel() {fetch()} 생성자가 main.dart에 적용되는 시점이 언제이기에, 여기의 내용이 main.dart의 build 부분에서 보여질 수 있는가요?

main.dart에서 runApp의 Value항목에서 StoreModel 클래스를 가져오며 실행이 되는 것인가요?

void main() {
return runApp(ChangeNotifierProvider.value(
value: StoreModel(),
child: MyApp(),
));
}

질문2.

처음에는 initState에서 해야한다고 생각해서 아래와 같이 작성을 해봤는데, 에러가 납니다.

만약 initState에서 StoreModel클래스의 fetch명령을 실행하려면 어떻게 해야하나요?

감사합니다.

답변 1

답변을 작성해보세요.

0

질문 1의 답입니다.
main 메서드의 runApp에서 StoreModel() 가 생성되므로 여기서 바로 생성자가 호출됩니다.

질문 2의 답입니다.
사용하신 방법은 fetch() 메서드가 static 인 경우에는 가능하지만 일반 메서드는 인스턴스를 생성한 후에 메서드를 호출해야 하므로

전역변수로 StoreModel model  = StoreModel(); 과 같이 선언해 두신 후에

initState() 에서 model.fetch(); 를 하시는 것이 옳은 방법입니다.