월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
user_me_repository.g 에러
토큰이 만료될떄 뜨는거같은데 포스트맨도 토큰 잘 작동하고뜬금없이 이 폴더에서 401에러가 나는지 모르겠네여....똑같이 다른분들이 올린 커뮤니티도 봤지만 이해가 안대네여,,
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
setState 내부, 외부에 명령어를 담을 때의 차이가 궁금합니다.
안녕하세요 go router redirection 강의 듣고 있습니다. onPressed의 setState 내부에 authState = !authState 를 넣거나, authState = !authState 를 실행하고 setState를 하는 방법에 어떤 차이가 있는 지 궁금합니다.모두 겉으로 보기에는 잘 작동하는 것 같은데 무엇을 사용해야 더 효율적인 방법인가요? ElevatedButton( onPressed: () { setState(() { authState = !authState; }); }, child: Text(authState ? 'logout':'login',), ),ElevatedButton( onPressed: () { authState = !authState; setState(() { }); }, child: Text(authState ? 'logout':'login',), ),
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
go Router redirect 에러
The argument type 'String?' can't be assigned to the parameter type 'FutureOr<String?> Function(BuildContext, GoRouterState)?'goRouter 기존 버전에서 7.0으로 바뀌어서 에러가 뜨는거같은데염 ㅠㅠ
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
params 질문
안녕하세요 코드팩토리님 연휴 잘 보내고 계신가요다름이 아니라 GoRoute( path: 'restaurant/:rid', name: RestaurantDetailScreen.routeName, builder: (_,state) => RestaurantDetailScreen( id: state.queryParameters['rid']!, )위의 부분에서 일단 임시로 queryParameters를 사용하고 있지만 현재 params란 키워드가 보이지 않더군요 queryParameters와 pathParameters가 있던데 무얼 사용하는게 좋을까요 감사합니다
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Pagination 에 parameter를 after, count 에 덧붙여 다른것을 추가 할수 있을까요?
안녕하세요.pagination 을 응용하면서 추가적인 조건이 생겨 parameter를 추가하고 싶습니다. 예를 들어 restaurant 화면에서 별점이 4점 이상인것만 가져오고 싶을때 하기 함수에다 추가해야 될것 같은데 잘 않되고 있습니다. 감사합니다.@GET('/') @Headers({'accessToken': 'true'}) Future<CursorPagination<RestaurantModel>> paginate({ @Queries() PaginationParams? paginationParams = const PaginationParams(), });
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
return에 BasicScreen()인가요?
안녕하세요.1분 30초 부터 named 페이지를 설정해 주시는데 새로운 GoRoute를 만들고 path와 name은 named와 관련된 것으로 해주셨습니다. 그런데 return을 NamedScreen이 아니라 BasicScreen으로 해주셨는데 의도하신건지 궁금해서 질문 남깁니다!
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Rating pagination
다이나믹 에러가 아닌 저는flutter: DioError [DioErrorType.other]: Invalid argument(s): Unsupported scheme '' in URI //http//127.0.0.1:3000/restaurant/5ac83bfb-f2b5-55f4-be3c-564be3f01a5b/rating/?count=20 이런에러가 나면서 평점 ui가 안보입니다 ,, ㅠㅠ
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
배운내용 정리 질문
안녕하세요 코드팩토리님 배웠던 내용들이 너무 많아 강의를 돌려보면서 보기가 조금 어려운데 출처를 밝히고 블로그에 내용을 기록해도 될까요
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
redirect: authStateProvider._redirectLogic 빨간줄
아래와 같은 코드인데 redirect부분에서 빨간줄이 나는데 뭐가 문제일까요 import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:gorouter_practice/model/user_model.dart'; import 'package:gorouter_practice/screen/login_screen.dart'; import 'package:riverpod/riverpod.dart'; import '../screen/1_screen.dart'; import '../screen/2_screen.dart'; import '../screen/3_screen.dart'; import '../screen/error_screen.dart'; import '../screen/home_screen.dart'; final routerProvider = Provider<GoRouter>((ref){ final authStateProvider = AuthNotifier( ref: ref ); return GoRouter( initialLocation: '/', errorBuilder: (context,state){ return ErrorScreen( error: state.error.toString()); }, // redirect 주소가 잘못됐을때 올바른 주소로 연결 redirect: authStateProvider._redirectLogic, // refresh 새로고침, 상태가 변경할 때마다 redirect실행 refreshListenable: authStateProvider, routes: authStateProvider._routes ); }); class AuthNotifier extends ChangeNotifier{ final Ref ref; AuthNotifier({ required this.ref, }){ ref.listen<UserModel?>( userProvider, (previous, next) { if(previous!=next){ notifyListeners(); } } ); } String? _redirectLogic(GoRouterState state){ //UserModel의 인스턴스 or null final user = ref.read(userProvider); //로그인을 하려는 상태인지(location은 현재 위치를 가져옴) final logginIn = state.location == '/login'; //유저 정보가 없다 - 로그인한 상태가 아니다 // //유저 정보가 없고 //로그인하려는 중이 아니라면 //로그인 페이지로 이동한다. if(user == null){ //로그인을 시도하려는 상태면 null 반환 로그인페이지 위에 로그인페이지가 쌓이는걸 방지하기 위해 return logginIn ? null : '/login'; } //유저 정보가 있는데 //로그인 페이지라면 //홈으로 이동 if(logginIn){ return '/'; } //가려는 페이지로 보내줌 위의 로직은 일종의 필터 역할 return null; } List<GoRoute> get _routes => [ GoRoute( path: '/', builder: (_,state) => HomeScreen(), routes: [ GoRoute( //라우트안에 라우트를 넣으면 슬래시를 안넣어도됨 path: 'one', builder:(_,state) => OneScreen(), routes: [ GoRoute( //http://....../one/two 위의 페이지들이 다 깔림 //라우트안에 라우트를 넣으면 슬래시를 안넣어도됨 path: 'two', builder:(_,state) => TwoScreen(), routes: [ GoRoute( //http://....../one/two/three 위의 페이지들이 다 깔림 //라우트안에 라우트를 넣으면 슬래시를 안넣어도됨 //name으로 이름으로 이동 가능 중복x name: ThreeScreen.routename, path: 'three', builder:(_,state) => ThreeScreen(), ) ] ) ] ), GoRoute(path: '/login',builder: (_,state)=>LoginScreen()) ] ), //http://...../three -> 깔리지 않고 독립적으로 존재 GoRoute( path: '/three', builder:(_,state) => ThreeScreen(), ) ]; } final userProvider = StateNotifierProvider<UserStateNotifier,UserModel?>( (ref) => UserStateNotifier() ); //로그인한 상태면 UserModel 인스턴스 상태로 넣어주기 //로그아웃 상태면 null 상태로 넣어주기 class UserStateNotifier extends StateNotifier<UserModel?>{ UserStateNotifier(): super(null); login({ required String name }){ state = UserModel(name: name); } logout(){ state = null; } }
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
대단하십니다!
node.js 서버는 선생님이 직접 구현하신거에요? ㄷㄷ
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
서버 세팅하는데 질문있습니다.
저도 윈도우의 안드로이드 스튜디오로 선생님의 파일을 다운받아 실행했는데요, 터미널이 동일하게 열리지 않습니다. 그래서 node.js commend를 실행해서 npm i 등을 실행하면 아래와 같은 오류가 발생합니다. 해결책을 모르겠습니다ㅜ
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
[질문] 카테고리별 상품 관리에 관해 중복 상품 문제
안녕하세요,저는 'category'라는 테이블을 생성하여 상품들의 상태를 관리하고 있습니다. 'family'를 통해 'categoryId' 값을 받아서 카테고리별로 상태를 관리하고 있는데 문제가 있어서 질문 드립니다.'categoryId' 값에 '0'을 주면, 카테고리와 상관 없이 모든 상품을 볼 수 있는 리스트를 만들 수 있었습니다. 그러나, 이 방법은 상품이 중복되어 나타나는 문제가 발생합니다.모든 상품을 한번에 받아서 필터로 처리하는 방법도 생각해 보았지만, 상품의 수가 너무 많아 이 방법은 효율적이지 않을 것 같습니다.구글링을 통해 정보를 찾아보고 다른 앱 레퍼런스도 찾아보았지만, 원하는 답변을 얻지 못하여 이렇게 글을 남깁니다. 이 문제에 대해 어떻게 해결할 수 있는지 도움을 주시면 감사하겠습니다.감사합니다.
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
3.10 인스톨 관련
안녕하세요 방금 초급강의에서도 문의 드렸는데 혹시중급강의도 3.10버전에서 호환이 안될까요? ㅠㅠ
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Go Router 세팅 후 페이지 아무리 넘겨도 안될 때
go_router: ^7.0.1 저와 같이 메인 버전을 아무 생각없이 최신 버전을 쓰셨을 때버튼을 아무리 눌러도 페이지가 바뀌지 않아서 당황하실 분들께 남깁니다.물론 이제 중급이라 대부분은당연히 pub dev example을 살펴보셨겠지만 그래도 혹시나..우리 선생님께서 3가지의 파라미터를 넣는다고 하셨지만현재 기준으로는@override Widget build(BuildContext context) { return MaterialApp.router( routerConfig: _router, ); }이렇게 넣으면 된다고 합니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
return super.onError(err, handler);의 의미는 무엇인가요?
return super.onError(err, handler);중간에 위 코드를 지우고그 자리에 return handler.reject(err)로 마무리 하셨는데이것의 의미가 궁금합니다
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
apk 다운시 서버! !
apk로 다른 핸드폰에 설치했는데.. 로그인이 안되네요 ㅠㅠ 로그인 할 수 있는 방법 없을까요??
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Invalid argument(s): No host specified in URI - 해당 에러가 뜨면서 이미지 파일이 안불러와집니다.
혹시 어느 부분을 수정해야하는지 알려주실 수 있나요?이미지 파일이 안불러와지는 것만 제외하면 나머지 기능은 정상적으로 작동합니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
g.dart 에러
워닝에러 뜨면서 안댑니다,,
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
유저정보 화면을 만들때의 Provider 사용 문의 드립니다.
선생님한테 배운것을 응용하려는데 쉽지 않습니다.userMeProvider의 getMe()함수가 유저 정보를 가져오는 함수라서 이 함수를 이용해 유저정보화면을 만들려고 하는데많은 시행착오를 거친후 제가 할수 있는것은 FutureBuider를 이용하여 future 함수에다 ref.read(userMeProvider.notifier).getMe() 를 넣으니까 화면에 뿌릴수는 있게 되었습니다. 그런데 FutureBuider를 쓰는것은 왠지 선생님의 가르침에 역행하는것 같아서 문의 드립니다.유저프로필 화면에 Provider를 이용하여 데이터를 보여주는 가장 좋은방법은 무엇인지 궁금합니다.repository 나 provider 는 일반 프로그래밍 같아서 잘 이해가 되는데 이것을 화면에 뿌리는것이 너무 낯선 개념으로 다가와서 애를 먹고 있습니다.ㅠㅠ 감사합니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
throttle 마지막 부분 이론강의가 안켜지네요,,,
throttle 부분 최적화 하려고 이론을 들으려는데 다른 다음 수업이나 이전 수업은 다 되는데 이론 파트면 30초 부근에서 계속 멈추네요,,,