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

Alex Kwon님의 프로필 이미지

작성한 질문수

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

go_router.dart error(auth_provider내 redirectLogic)

22.12.13 21:36 작성

·

871

·

수정됨

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님의 프로필 이미지

2023. 01. 22. 00:31

(_, GoRouterState state)

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

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

0

김강민님의 프로필 이미지

2023. 03. 08. 14:08

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

0

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

2022. 12. 14. 14:15

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

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

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

2022. 12. 15. 12:39

안녕하세요.

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

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

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

0

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

2022. 12. 14. 10:28

안녕하세요.

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

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