• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

go_router.dart error(auth_provider내 redirectLogic)

22.12.13 21:36 작성 22.12.13 23:15 수정 조회수 731

0

auth_provider.dart내에서 redirectLogin 추가하고 이런 에러가 나와서요 아무리 소스코드를 확인해봐도.. type에러인것 같긴한데.. 부탁드립니다.

String? redirectLogic(GoRouterState state) { final UserModelBase? user = ref.read(userMeProvider);

==========================================================

lib/common/provider/go_router.dart:14:24: Error: The argument type 'String? Function(GoRouterState)' can't be assigned to the parameter type 'FutureOr<String?> Function(BuildContext, GoRouterState)?'.

 

- 'GoRouterState' is from 'package:go_router/src/state.dart' ('../../Libraries/flutter/.pub-cache/hosted/pub.dartlang.org/go_router-5.2.4/lib/src/state.dart').

- 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('../../Libraries/flutter/packages/flutter/lib/src/widgets/framework.dart').

go_router.dart

import 'package:actual/user/provider/auth_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';

final routerProvider = Provider<GoRouter>((ref) {
  // watch - 값이 변경될때마다 다시 빌드
  // read - 한번만 읽고 값이 변경돼도 다시 빌드하지 않음
  final provider = ref.read(authProvider);

  return GoRouter(
    routes: provider.routes,
    initialLocation: '/splash',
    refreshListenable: provider,
    redirect: provider.redirectLogic,
  );
});

 

 

 

 

 

답변 4

·

답변을 작성해보세요.

2

freeduc님의 프로필

freeduc

2023.01.22

(_, GoRouterState state)

혹시 해결은 하셨나 모르겠네요...

앞에 context 하나 넣어주니까 에러는 사라졌습니다.

0

김강민님의 프로필

김강민

2023.03.08

String? redirect 를
FutureOr<Stirng?> redirect 로 변경 해주시면 됩니다!

0

Alex Kwon님의 프로필

Alex Kwon

질문자

2022.12.14

최신버전에서 강의에서 사용하진 버전을 사용하니 에러가 안나는데요..
#go_router: ^5.2.4
go_router: ^4.2.2

그럼 go_router 상위 Major version 변경에 어떻게 해야 할까요?

안녕하세요.

major 버전 변경은 항상 있는 일입니다.

큰 변화가 있더라도 근본 자체가 달라지지는 않기때문에 어떤 버전으로 배우셔도 새로운버전도 쉽게 습득이 가능하십니다.

강의 관점에서는 현재 최신 GoRouter 버전 대응 강의를 준비중입니다.

0

안녕하세요.

혹시 GoRouter 버전을 저와 같은 버전으로 사용중이신거 맞을까요?

맞으시다면 레포지토리에 소스를 올려서 공유해주시면 제가 직접 봐보고 답변 드리겠습니다.