[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로 해당 데이터를 세팅하도록 할 수 있다.
반응형