pushAndRemoveUntil
메서드는 Flutter의 Navigator
클래스에 포함된 메서드로서, 새로운 화면(route)으로 전환하면서 특정 조건에 맞는 이전 화면들을 모두 제거하는 역할을 합니다.
사용법:
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => NewScreen()),
(route) => false
);
위의 예제에서 pushAndRemoveUntil
메서드는 NewScreen
이라는 새로운 화면으로 전환하면서 (route) => false
조건에 맞는 모든 이전 화면들을 스택에서 제거합니다. 여기서 제공된 조건은 모든 화면에 대해 false
를 반환하므로, 새로운 화면이 표시되기 전에 모든 이전 화면들이 제거됩니다.
만약 첫 번째 화면만 남기고 모든 화면을 제거하려면 아래와 같이 할 수 있습니다:
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => NewScreen()),
(route) => route.isFirst
);
pushAndRemoveUntil
은 주로 로그아웃하거나 앱의 초기화면으로 돌아갈 때 사용하여 중간에 존재하는 모든 화면들을 제거하고 사용자에게 첫 화면만을 보여줄 때 유용하게 사용됩니다.