[Flutter] Don't user 'BuildContext's across async gaps.

zunu·2023년 5월 3일
0

비동기 함수 밑에 화면 이동을 하려니 이러한 경고가 표시됐다.

역시 검색해보니 간단하게 해결이 되었다.

비동기 함수 밑에 처리할 코드를

if(context.mounted) {
	// 처리할 코드들
}

이렇게 if문으로 감싸주면 되었다.

그렇다면 context.mounted는 무엇을 뜻하는 걸까?

mounted는 현재 이 widget이 해당 context와 연결이 되어 있는지를 판단해준다.

고로 context와 연결되어 있지 않다면 에러가 날 확률이 높으니 이렇게 mounted를 확인 후, 해당 코드를 처리하라고 경고를 해주는 것 같다.

profile
개발새발

0개의 댓글