-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
RootTab 이동시 if(!mounted) return; 에 관해
22.12.31 18:58 작성 조회수 691
1
안녕하세요. 초급 완강하고 중급을 듣고 있는 중입니다.
현재 기초적인 RootTab 을 만들고 로그인 성공시 해당 페이지로 넘어가도록 설정하는 과정에서 에러,
do not use BuildContext across async gaps.가 발생하여 검색해보니
if(!mounted) return;
Navigator.of(context).push(MaterialPageRoute(builder: (_)=>RootTab(),),);
위와같이 if(!mounted);를 넣는 방법이 있다는 것을 알았습니다. 설명도 읽어보긴 했으나 조금 이해가 안되어서 질문드립니다.
if(!mounted) return; 이 없어도 작동은 하더라구요.
해결은 됐는데, 이 에러의 의미와 해결법의 의미가 무엇인지 궁금합니다.
연말잘보내시고, 새해복 많이 받으세요.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
간단한 로그인 시스템 만들어보기
강의실 바로가기
답변을 작성해보세요.
0
0
코드팩토리
지식공유자2023.01.02
안녕하세요!
에러가 아니고 워닝입니다.
async 함수 내에서 await 부분 앞뒤로 로직을 실행할경우 위젯이 마운팅돼있지 않을수가 있다는 에러인데 해결하신 방식대로 해결하시면 됩니다.
공식 다큐멘테이션도 똑같이 작성돼있습니다! 아래 링크를 참고해주세요!
https://dart-lang.github.io/linter/lints/use_build_context_synchronously.html
답변 2