강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

뀨우?뀨님의 프로필 이미지
뀨우?뀨

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

navigation 이론 강의에서 push 메서드 관련 질문 드립니다!

작성

·

266

0

안녕하세요 해당 항목에서 push 메서드들 강의를 들었습니다.

 

ElevatedButton(onPressed: (){
  Navigator.of(context).pushAndRemoveUntil(
      MaterialPageRoute(builder: (_)=>routethreescreen()
      ),
        (route)=> route.settings.name == '/one',
  );
}

강의하신대로 그대로 똑같이 코드를 작성해보며 name ==에 값을 '/' 이 아니라 '/one' 과 '/two'를

넣고 라우트3에서 팝하니까 라우트1이나 라우트2로 돌아가는게 아니라 검은색 화면이 나오더라고요.

 

'/'을 넣으면 정상적으로 홈스크린으로 가는데.. 에뮬레이터 끄고 콜드부트해서 빌드하고 해봤는데도 동일하네요..

 

아무리 생각해도 저 코드에 문제될 부분은 없어보이는데..

제가 궁금한건 이게 코드상의 문제인건지, 에뮬레이터상의 문제인건지 궁금해서 여쭤봅니다.

 

감사합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

pushAndRemoveUntil은 새로운 라우트를 푸쉬한다음에 네비게이션스택에 존재하는 라우트중 조건에 맞지않는 라우트를 모두 삭제하는 기능입니다.

즉, 작성하신 조건에 맞는 라우트가 하나도 없었기때문에 검은색 화면이 나오는겁니다!

감사합니다.

뀨우?뀨님의 프로필 이미지
뀨우?뀨

작성한 질문수

질문하기