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

Alex Kwon님의 프로필 이미지
Alex Kwon

작성한 질문수

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

go_router.dart error(auth_provider내 redirectLogic)

작성

·

888

·

수정됨

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

(_, GoRouterState state)

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

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

0

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

0

Alex Kwon님의 프로필 이미지
Alex Kwon
질문자

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

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

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

안녕하세요.

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

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

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

0

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

안녕하세요.

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

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

Alex Kwon님의 프로필 이미지
Alex Kwon

작성한 질문수

질문하기