작성
·
1.2K
·
수정됨
1
안녕하세요?
해당 실습 소스 예제를 무한 반복하면서 기존에 몇번 끝까지 완성하고, 현재 반복으로 계속 공부해보고 있습니다. 최근에 안나던 에러가 나와서 질문 드립니다. 소스 문제가 아닌거 같아서요.
-----------------------------------------
ㅁ 개발환경
~ Flutter 3.10.5
~ Dart 3.0.5
~ OS : Mac Ventura 13.4.1 (Apple M2)
-----------------------------------------
Error (Xcode): ../../../../.pub-cache/hosted/pub.dev/go_router-4.5.1/lib/src/router.dart:38:44: Error: The class 'NavigatorObserver' can't be used as a mixin because it isn't a mixin class nor a mixin.
기존에 실습할 때는 잘 지나갔던 부분 같은데,
실습이 잘 진행되다가, go_router 적용 후 부터 위 에러가 뜹니다.
동영상 소스 버전인 4 버전으로 바꾸어서 해 봐도 똑 같네요.
(go_router 설정은 4 버전으로)
flutter clean 시도후에 다시 pub get 해도 똑같은 현상이고요.
ㅁ 참고로, 기존에 실습 공부 때 끝까지 완성해서 잘 돌던 복사본을 꺼내서 돌려 보니 위와 똑같은 현상이 나왔습니다.
ㅁ 참고로 강사님이 작성해서 git hub 에 올려 주신 [실제 본 소스 - actual] 다운 받아서 돌려 보아도 똑같은 현상이 나오네요.
혹시 관련 에러에 대해 아시는 부분 있으시면 조언 부탁드립니다.
답변 2
1
일단 go_router 7.0.1 으로 올려서 해결은 했습니다만,
잘 모르겠지만 4.2.2 버전인 4.X 버전에서는 최근 들어 뭔가 충돌이 있는거 같습니다.
예전에는 분명 잘 돌던 소스였거든요.
아래는 7.X 버전으로 올린 후 기존 소스 수정한 부분입니다.
——————————————————
pubspec.yaml
go_router: ^7.0.1
#^4.2.2
——————————————————
auth_provider
FutureOr<String?>
redirectLogic(BuildContext context,
GoRouterState state) {
——————————————————
go_router.dart
builder: (_, state) => RestaurantDetailScreen(
id: state.pathParameters
['rid']!,
),
——————————————————
main.dart
return MaterialApp.router(
theme: ThemeData(
fontFamily: 'NotoSans',
),
debugShowCheckedModeBanner: false,
routerConfig: router,
);
——————————————————
restaurant_screen.dart
//context.go('/restaurant/${model.id}');
context.goNamed(
RestaurantDetailScreen.routeName,
pathParameters
: {
'rid': model.id,
},
);
네,, 답변 감사 드립니다.
4.X 버전에서 꼭 실행되어야 할 부분은 없으나 하다가 오류가 나서 여쭤본 거고요.
참고로 강사님이 Git에 올려주신 소스도 다운 받아서 해 봤는데 똑같은 오류가 나더라고요.
예전엔 잘 되던 거였거요..