Notice
Recent Posts
Recent Comments
올해는 머신러닝이다.
[오류] setState() called after dispose() 본문
보통 이런 오류는 lazy 하게 네트워크 상태가 늦어지거나 할 경우 이미 위젯은 dispose가 된 상태인데 setState 를 호출 하는 경우로 보인다.
해결법은 간단하게 onDispose 함수에서 변수 하나 선언해서 true / false 로 해주면 된다.
라이프사이클에 대해서 궁금하면 여기 로 가서 한번 보고 오자.
우선 이렇게 변수를 지정 후에
@override
void dispose() {
super.dispose();
isDisposed = true;
}
변경하는 부분에서
if(!isDisposed) {
setState(() {....
});
}
이런식으로 하면 된다.
팁으로 시작시 setState 를 하는 경우에는 this.mounted 로 체크가 가능하다.
이상으로 늦은 setState 오류에 대해서 살펴보았다.
'스터디 > Flutter' 카테고리의 다른 글
Flutter Youtube 화면 개발 (부산 2주차 스터디) (2) | 2018.10.31 |
---|---|
Flutter Simple TODO(할일관리) List (0) | 2018.10.23 |
Flutter에서 onActivityForResult 구현 해보기 (0) | 2018.10.18 |
Flutter 에서 Android 모듈을 열었을때 버그 수정 공유 (0) | 2018.10.17 |
[Flutter] BuildContext를 알아보자 (0) | 2018.10.16 |