인프런 커뮤니티 질문&답변
RootTab 이동시 if(!mounted) return; 에 관해
작성
·
1K
1
안녕하세요. 초급 완강하고 중급을 듣고 있는 중입니다.
현재 기초적인 RootTab 을 만들고 로그인 성공시 해당 페이지로 넘어가도록 설정하는 과정에서 에러,
do not use BuildContext across async gaps.가 발생하여 검색해보니
if(!mounted) return;
Navigator.of(context).push(MaterialPageRoute(builder: (_)=>RootTab(),),);위와같이 if(!mounted);를 넣는 방법이 있다는 것을 알았습니다. 설명도 읽어보긴 했으나 조금 이해가 안되어서 질문드립니다.
if(!mounted) return; 이 없어도 작동은 하더라구요.
해결은 됐는데, 이 에러의 의미와 해결법의 의미가 무엇인지 궁금합니다.
연말잘보내시고, 새해복 많이 받으세요.
퀴즈
세션 기반 인증과 토큰 기반 인증 방식에서 사용자 정보 저장 방식의 주요 차이점은 무엇인가요?
세션은 클라이언트에, 토큰은 서버에 저장해요.
세션은 서버에, 토큰은 클라이언트에 저장해요.
세션은 데이터베이스에, 토큰은 메모리에 저장해요.
세션은 메모리에, 토큰은 데이터베이스에 저장해요.
답변 2
0
0
코드팩토리
지식공유자
안녕하세요!
에러가 아니고 워닝입니다.
async 함수 내에서 await 부분 앞뒤로 로직을 실행할경우 위젯이 마운팅돼있지 않을수가 있다는 에러인데 해결하신 방식대로 해결하시면 됩니다.
공식 다큐멘테이션도 똑같이 작성돼있습니다! 아래 링크를 참고해주세요!
https://dart-lang.github.io/linter/lints/use_build_context_synchronously.html





