inflearn logo
강의

Course

Instructor

[Code Factory] [Intermediate] Flutter Real Practice! State Management, Cache Management, Code Generation, GoRouter, Authentication Logic, etc. Essential Skills to Become an Intermediate!

go_router.dart error(auth_provider내 redirectLogic)

1024

Alex Kwon

7 asked

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,
  );
});

 

 

 

 

 

Flutter 하이브리드 앱

Answer 4

2

freeduc

(_, GoRouterState state)

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

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

0

starguy

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

0

Alex Kwon

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

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

0

codefactory

안녕하세요.

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

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

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

0

codefactory

안녕하세요.

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

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

자동 패키지 임포트 관련 질문 드립니다.

0

644

1

초급 중급 마무리한 학생입니다.. 파베관련 질문 하나만 받아주실 수 있을까요

0

431

1

Pagination 질문드립니다

0

461

1

레이아웃에 대해서 궁금한 질문!

0

484

1

강의에 적용된 디자인 패턴이 뭔가요??

1

667

1

네스팅 방식으로 goRouter Go를 사용할때, 앱바타이틀이 정상적으로 표시되지 않는 문제

0

548

2

GoRouter return이 안됩니다.

0

591

1

UserModel 에서는 IModelWithId를 implements하지 않는 이유가 있나요?

-1

532

1

서버쪽 /user/me api에서 에러가 나서 확인해보니..

0

402

1

[에러] GoRouter 적용, 401 에러가 뜹니다

0

358

1

ref.read.update // state + 1

0

445

1

typedef itemBuilder 제네릭 관련 질문이 있습니다.

0

448

1

[상태관리] Riverpod을 쓰신 이유가 있으신가요?

0

665

1

Dio 질문드립니다.!

0

767

2

CursorPagination 캐스팅 관련 문의

0

405

1

CursorPagination 캐시팅 관련 문의

0

389

2

AuthRepository 클래스 token() 함수는 Dead Code 아닌가요?

0

356

1

Rating을 GET 요청할때 DioError가 발생합니다.

-1

602

1

Token 관련 질문 드립니다.

0

444

2

수업의 내용은 아니지만 궁금해서 여쭤봅니다.

0

570

1

refresh 토큰 재발급 요청에 대해서

0

1682

1

_App 클래스가 ConsumerWidget을 상속 받으면 에러가 생깁니다

0

2535

4

이번 플러터와 다트 업데이트에서

1

263

1

Dio로 api 요청 듣고 있는데 에러가 발생합니다 ㅜㅜ

0

1167

1