-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
이 경고는 어떻게하면 없어지나요?
22.10.03 19:11 작성 조회수 234
0
찾아보니 mounted 확인하고 리턴시켜라는데
mounted가 존재하지 않네요.
무시해도 상관없겠지만 개인적으로 노란줄 뜨는거 싫어해서 해결 방법이 있다면 알고 싶습니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
결제함수 마무리하기
강의실 바로가기
답변을 작성해보세요.
0
Geonwoo Jeong
질문자2022.10.05
답변감사합니다.
context.mounted가 없어서 찾아봤는데
StatefulWidget에는 그냥 mounted로 존재하고
StatelessWidget에는 없네요
https://github.com/flutter/flutter/issues/111488
이 이슈가 머지 되었으니 다음 릴리즈 때에는 반영될 것 같습니다
마스터 채널로 변경하니 나오네요
0
코드팩토리
지식공유자2022.10.04
안녕하세요.
프레임워크나 언어 경고는 아니고 린트 경고인데 제 생각에는 큰 의미가 있는 사항은 아닌걸로 보여집니다. 실제로 async 갭을 두고 꼭 실행해야만 하는 기능들이 없지 않아서요. Experimental 상황이라 나중에 없어질수도 있습니다.
린트경고를 없애는 방법은 context 마운팅이 됐는지 확인을 하는방법입니다.
void onButtonTapped() async {
await Future.delayed(const Duration(seconds: 1));
if (!context.mounted) return;
Navigator.of(context).pop();
}
아래 공식 링크에서도 확인하실 수 있습니다.
https://dart-lang.github.io/linter/lints/use_build_context_synchronously.html
답변 2