전업요리사의 앱 개발 공부하기
“setState() called after dispose()” 에러 본문
에러 내용Permalink
setState() called after dispose()
원인Permalink
이는 해당 위젯이 이미 dispose()된 상태인데 setState()이 불려서 발생하는 에러이다.
해결 방법Permalink
이 에러는 this.mounted를 사용해서 해결할 수 있다. mounted는 위젯이 dispose()되는 순간 false가 되기 때문에, 아래와 같이 mounted이 true일 때만 setState()를 호출하도록 설정하면 된다
if (this.mounted) {
setState(() {
// state 변경에 대한 코드.
});
}
반응형