미분류 노트
[Flutter] Visual Studio Code 사용 시, Don't use BuildContext's across async gaps 경고 없애기
mroh1226
2023. 12. 27. 18:27
반응형
context를 소스에 사용할 때면 Don't use BuildContext's across async gaps 라고 경고가 뜬다.
경고가 발생하는 원인:
- BuildContext context 를 사용자 정의 Class에 직접 저장할 경우,
Widget이 mount 되었는지 확실하지 않으며,
async 뒤에 mount 되지않은 context를 사용하면 그 안에 값이 들어있지 않을 수 있기 때문이다.
해결방법:
- context 사용 전에 mount가 되었는지 아래와 같이 조건문을 걸어준다.
State를 사용하는 Widget일 경우 (StatefulWidget 등...)
if(!mounted) return;
State를 사용하지 않는 Widget일 경우(ConsumerWidget 등...)
if (context.mounted) {
//context를 사용하는 소스
}
* if(!context.mounted) return; 으로 사용하고 싶은데 이렇게 사용하면 동일하게 경고가 뜬다.
if문안에 소스를 작성하기 싫더라도 위와 같이 해줘야 경고가 사라진다.
예시.
반응형