DevBoi

[Flutter] initState 이전 데이터 세팅 본문

[Mobile]/[Flutter]

[Flutter] initState 이전 데이터 세팅

HiSmith 2023. 9. 2. 13:54
반응형

State 하위 메서드에서는 아래와 같은 메서드를 오버라이드 해서, 초기 세팅을 할 수 있다.

@override
  void initState() {
    super.initState();
  }

 

근데 비동기 함수를 중간에 넣으면 잘 동작을 안하는 경우가 있다.

supser.initState가 위 함수 완료 이전에 진행되면 빈화면이 노출된다.

 

방법은 크게 생성자와 비동기 함수 동작이다.

생성자는 다른 포스팅에서 많이 다뤄서 아래와 같이 다른 방법을 공유한다.

  @override
  void initState() {
    asyncMethod();
    super.initState();
  }

 

asyncMethod() async {
    dataInterface.init().then((value) => {
    setState((){
      reportList = dataInterface.load();
      getResult(reportList);
    })
    });
    }

 

위와 같이하면,

해당 setState가 먼저 실행되어서, 데이터가 세팅할 준비를 마치고, super.initState로 해당 데이터를 세팅하도록 할 수 있다.

 

반응형

'[Mobile] > [Flutter]' 카테고리의 다른 글

[Flutter] FutureBuilder setState 동작 이슈  (0) 2023.09.03
[Flutter] Dialog 콜백 값 핸들링  (0) 2023.09.02
[Flutter] Chip 사용  (0) 2023.08.28
[Flutter] 팝업 구현  (0) 2023.08.26
[Flutter] 다양한 FormBuilder,FormValidator  (0) 2023.08.26