seong

Flutter - 현재 페이지 경로 가져오기 본문

Flutter/Flutter

Flutter - 현재 페이지 경로 가져오기

hyeonseong 2023. 12. 27. 14:55

사용 목적 - 이동하려는 페이지가 이미 열려 있다면 다시 이동 하기 방지

적용 전 참고 사항

- Route이동을 name으로 함 ( name으로 Route 관리시 Route 스택 관리가 편리해지기 때문에 번거로워도 관리 해주는 것이 좋다. ) 

 

 

현재 열려 있는 페이지의 경로를 가져오는 함수

/// 현재 열려 있는 페이지 경로 정보
String? getCurrentPath() {
  String? currentPath;
  MyApp.navigatorKey.currentState?.popUntil((route) {
    currentPath = route.settings.name;
    return true;
  });
  return currentPath;
}

경로 체크 및 이동

// 함수를 실행해 현재 경로 가져옴.
String? path = getCurrentPath();

// 만약 열려있는 경로가, 이동할 경로와 같을 경우 return;
if (path == RoutePage.first) {
        return;
      }
      // 같지 않을 경우 페이지 이동
      RoutePage.move(context, RoutePage.first);
      return;