pushReplacement()
그 다음 페이지(RouteThree Screen)로 이동은 하지만 그 페이지(RouteTwo Screen)에서 pop()을 했을 때 pushReplacement()했던 페이지(RouteTwo Screen)를 지우고 그 전 페이지로 간다(RouteOne Screen)
RouteTwo push replacement (RouteTwo 지우고)-> RouteThree pop() -> RouteOne
pushReplacementNamed
pushReplacementNamed()도 pushReplacement()와 마찬가지로 동작한다
RouteTwo push replacement (RouteTwo 지우고)-> RouteThree pop() -> RouteOne
하지만 pushReplacementNamed()는 MaterialPageRoute()를 사용할 수 없다
pushAndRemoveUntil
신기한 자식일세,,
진짜 이름 그대로 push하고 ~할 때까지 삭제함 ㄷㄷ
(route) => route.settings.name == '/'
이런 식으로 하면 홈스크린이 아닌 라우트는 라우트 스택에서 삭제하고 홈스크린일 경우에만 사라지지 않는다
RouteTwo pushAndRemoveUntil(HomeScreen 제외한 나머지 라우트 삭제하고) -> RouteThree pop() -> (RouteThree 삭제되었으니) HomeScreen
pushNamedAndRemoveUntil
pushNamedAndRemoveUntil()도 똑같이 동작하지만 코드를 위와 같이 작성해주면 된다
'CS > Flutter | Dart' 카테고리의 다른 글
비디오 플레이어 앱 #1(레이아웃, 사진첩접근권한, 동영상 재생) (0) | 2023.07.30 |
---|---|
pop 메소드 - maybePop, canPop, WillPopScope (0) | 2023.07.26 |
Named Route - PushNamed (0) | 2023.07.26 |
layout 이용해 코드 중복제거하기 (0) | 2023.07.25 |
Flutter Button 스타일링 - ElevatedButton, OutlinedButton, TextButton (0) | 2023.07.25 |