인프런 커뮤니티 질문&답변

archy712님의 프로필 이미지
archy712

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

Authentication 마무리하기

go_router 소스 적용후부터 이상한 에러가 떠서요.

작성

·

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

archy712님의 프로필 이미지
archy712
질문자

일단 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,

  },

);

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

4.x 버전과 7.x 버전은 메이저 버전이 3번 올라갔기 때문에 다른점이 많습니다!

7.x 버전에서 문제 없이 실행된다면 그대로 진행하시면 됩니다.

혹시 4.x 버전에서 꼭 실행을 해야하는 이유가 있다면 레포지토리 링크와 함께 다시 질문 해주세요!

제가 실행해보고 도움 드릴게요!

감사합니다!

archy712님의 프로필 이미지
archy712
질문자

네,, 답변 감사 드립니다.
4.X 버전에서 꼭 실행되어야 할 부분은 없으나 하다가 오류가 나서 여쭤본 거고요.
참고로 강사님이 Git에 올려주신 소스도 다운 받아서 해 봤는데 똑같은 오류가 나더라고요.
예전엔 잘 되던 거였거요..

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요! 확인해보고 조치 하도록 하겠습니다. 플러터 버전이 올라가면서 문제가 생긴걸수도 있을 것 같습니다. 불편을 드려 죄송합니다.

archy712님의 프로필 이미지
archy712

작성한 질문수

질문하기