RootTab 이동시 if(!mounted) return; 에 관해
1013
작성한 질문수 21
안녕하세요. 초급 완강하고 중급을 듣고 있는 중입니다.
현재 기초적인 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
안녕하세요!
에러가 아니고 워닝입니다.
async 함수 내에서 await 부분 앞뒤로 로직을 실행할경우 위젯이 마운팅돼있지 않을수가 있다는 에러인데 해결하신 방식대로 해결하시면 됩니다.
공식 다큐멘테이션도 똑같이 작성돼있습니다! 아래 링크를 참고해주세요!
https://dart-lang.github.io/linter/lints/use_build_context_synchronously.html
자동 패키지 임포트 관련 질문 드립니다.
0
646
1
초급 중급 마무리한 학생입니다.. 파베관련 질문 하나만 받아주실 수 있을까요
0
432
1
Pagination 질문드립니다
0
462
1
레이아웃에 대해서 궁금한 질문!
0
488
1
강의에 적용된 디자인 패턴이 뭔가요??
1
670
1
네스팅 방식으로 goRouter Go를 사용할때, 앱바타이틀이 정상적으로 표시되지 않는 문제
0
551
2
GoRouter return이 안됩니다.
0
592
1
UserModel 에서는 IModelWithId를 implements하지 않는 이유가 있나요?
-1
535
1
서버쪽 /user/me api에서 에러가 나서 확인해보니..
0
404
1
[에러] GoRouter 적용, 401 에러가 뜹니다
0
360
1
ref.read.update // state + 1
0
447
1
typedef itemBuilder 제네릭 관련 질문이 있습니다.
0
449
1
[상태관리] Riverpod을 쓰신 이유가 있으신가요?
0
666
1
Dio 질문드립니다.!
0
771
2
CursorPagination 캐스팅 관련 문의
0
406
1
CursorPagination 캐시팅 관련 문의
0
394
2
AuthRepository 클래스 token() 함수는 Dead Code 아닌가요?
0
358
1
Rating을 GET 요청할때 DioError가 발생합니다.
-1
605
1
Token 관련 질문 드립니다.
0
448
2
수업의 내용은 아니지만 궁금해서 여쭤봅니다.
0
572
1
refresh 토큰 재발급 요청에 대해서
0
1685
1
_App 클래스가 ConsumerWidget을 상속 받으면 에러가 생깁니다
0
2544
4
이번 플러터와 다트 업데이트에서
1
265
1
Dio로 api 요청 듣고 있는데 에러가 발생합니다 ㅜㅜ
0
1168
1





