에러 내용Permalink

setState() called after dispose()

원인Permalink

이는 해당 위젯이 이미 dispose()된 상태인데 setState()이 불려서 발생하는 에러이다.

해결 방법Permalink

이 에러는 this.mounted를 사용해서 해결할 수 있다. mounted는 위젯이 dispose()되는 순간 false가 되기 때문에, 아래와 같이 mounted이 true일 때만 setState()를 호출하도록 설정하면 된다.

mounted에 대한 상세 설명.

if (this.mounted) { setState(() { // state 변경에 대한 코드. }); }