Nested Navigation을 구성했을 때 push/pop이 어려운 문제

  • Navigation 화면을 구성하는 main widget에서 현재 location에 대해 확인하고, 분기처리를 통해 bottom navigation을 표시/미표시 한다.
  • location getter를 GoRouter extension으로 추출해내면 사용하기 용이하다.
import 'package:go_router/go_router.dart';

extension GoRouterLocation on GoRouter {
  String get location {
    final RouteMatch lastMatch = routerDelegate.currentConfiguration.last;
    final RouteMatchList matchList = lastMatch is ImperativeRouteMatch
        ? lastMatch.matches
        : routerDelegate.currentConfiguration;
    return matchList.uri.toString();
  }
}
  • ref: https://github.com/flutter/flutter/issues/129833#issuecomment-1766029209

댓글남기기