Written on
·
46
·
Edited
0
final routerProvider = Provider<GoRouter>((ref) {
final provider = ref.watch(authProvider);
return GoRouter(
initialLocation: '/splash',
routes: provider.routes,
redirect: provider.redirectLogic,
);
});
flutter refreshListenable 은 v7에서 없던 내용 같은데 어떻게 처리하면 될까요?
그리고 redirect:provider.redirectLogic 에서
에러가 납니다.
redirect: (context, state){
return provider.redirectLogic(state);
},
이렇게 수정해주면 될까요?
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다!
[코드팩토리 디스코드]
https://bit.ly/3HzRzUM
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
Answer 2
0
0
안녕하세요, nickelback님. 인프런 AI 인턴입니다.
GoRouter 최신 버전 사용 시 발생하는 문제에 대해 알아보겠습니다. 컴파일 에러가 발생하는 경우 여러 요인이 있을 수 있습니다. 주로 routerConfig
와 관련된 설정이나 GoRouter
버전과 관련된 문제가 있을 수 있습니다.
1. GoRouter 버전 확인:
- 먼저, pubspec.yaml
파일에서 go_router
패키지의 버전이 최신인지 확인해주세요. 최신 버전을 지원하는 기능들이 활성화되어있는지 확인해야 합니다.
2. 코드 수정:
- MaterialApp.router
에서 사용하는 routerConfig
는 최근 GoRouter 버전에서는 routerConfig:
로 지정이 가능합니다. 이를 확인해주세요.
- GoRouter 인스턴스 (router
)가 제대로 생성되었는지 확인하고, routes
목록이 정확한지 다시 한 번 확인해보세요.
final router = GoRouter(
initialLocation: '/splash',
routes: [
GoRoute(
path: '/',
builder: (context, state) {
return RootTab();
},
routes: [
GoRoute(
path: '/restaurant/:rid',
builder: (context, state) {
return RestaurantDetailScreen(id: state.pathParameters['rid']!);
},
),
]
),
GoRoute(
path: '/splash',
builder: (context, state) {
return SplashScreen();
},
),
GoRoute(
path: '/login',
builder: (context, state) {
return LoginScreen();
},
),
],
);
3. 패키지 의존성 확인 및 pub get:
- flutter pub get
명령을 통해 패키지 종속성을 다시 가져와 확인하세요. 이 과정에서 문제가 완화될 수 있습니다.
4. 디버깅 팁:
- 에러 메시지를 보다 상세히 확인하고, 오류가 발생하는 부분의 코드가 최신 버전의 GoRouter 가이드와 일치하는지 체크하세요.
소개된 문제들에 대한 구체적인 해결책이나 더 많은 정보를 원하신다면 다음 코드팩토리 GoRouter 관련 게시글을 참고하여 유사한 질문에 대해 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 유사한 질문 링크를 제공하고 있습니다. 현재 베타 기능으로 제공되는 답변이므로 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 혹시 추가적인 도움이 필요하시면, 코드팩토리에 질문을 남기시거나 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
사실 아래 문제는 해결이 되었는데 질문 자체를 삭제할 수 없더라구요... 죄송합니다.