죄송합니다. 오늘 마지막 질문 입니다^^;(해결됨)
317
작성한 질문수 25
나름 열심히 따라 갔는데, 또 결제하기 버튼 누르면 결제를 실패했다는 스냅카드만 계속 뜹니다. 그래서 print(e) 를 해서 원인을 물어보니,
type 'Null' is not a subtype of type 'String' in type cast
라고 나오는데요, 제가 오류를 못찾는 걸수도 있겠지만, 여러 영상을 다시 뒤로 샅샅이 찾아가며 원인을 찾는데 못찾겠습니다..
왜 다음 페이지로 넘어가지 않을까요? null값 때문이라면 어떻게 처리를 해야 할까요?
// order_provider.dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:level2/order/model/post_order_body.dart';
import 'package:level2/user/provider/basket_provider.dart';
import 'package:uuid/uuid.dart';
import '../model/order_model.dart';
import '../repository/order_repository.dart';
final orderProvider =
StateNotifierProvider<OrderStateNotifier, List<OrderModel>>(
(ref) {
final repo = ref.watch(orderRepositoryProvider);
return OrderStateNotifier(
ref: ref,
repository: repo,
);
},
);
class OrderStateNotifier extends StateNotifier<List<OrderModel>> {
final Ref ref;
final OrderRepository repository;
OrderStateNotifier({
required this.ref,
required this.repository,
}) : super([]);
Future<bool> postOrder() async {
try {
final uuid = Uuid();
final id = uuid.v4();
final state = ref.read(basketProvider);
final resp = await repository.postOrder(
body: PostOrderBody(
id: id,
products: state
.map(
(e) => PostOrderBodyProduct(
productId: e.product.id,
count: e.count,
),
)
.toList(),
totalPrice: state.fold<int>(
0,
(p, n) => p + (n.count * n.product.price),
),
createdAt: DateTime.now().toString(),
),
);
return true;
} catch (e) {
print(e);
return false;
}
}
}------------------------------------------------------
이것도 앱을 지웠다가 다시 까니까 갑자기 되네요;
반복될 가능성도 없진 않지만, 실제로 앱을 구현할 경우 이 문제가 계속 반복될 경우 그때마다 지웠다 다시 깔았다를 반복할 수 없을것 같은데.. 일단 이 문제는 이렇게 해결하고 넘어가기로 하겠습니다.^^;
답변 1
0
안녕하세요!
코드 변경을 했을때 hot restart 또는 hot reload를 진행 해주셔야합니다.
이런 문제의 경우 '실제 앱'을 제작 했을때 없는 문제입니다. 왜냐면 앱은 한번 빌드하면 똑같은 상태로 배포되기 때문입니다.
감사합니다!
Isar 마지막 업데이트는 2년전입니다.
0
31
0
FlutterSecureStorage 질문
0
32
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
80
2
관리자 기능에 대한 질문
0
100
2
part 'restaurant_model.g.dart';
0
92
1
36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.
0
56
2
2번 반환 상황 관련 질문
0
61
2
riverpod 3.0
0
140
2
Asset folder??
0
82
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
114
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
68
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
103
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
85
2
장바구니 결제하기 응답이 500이 옵니다.
0
105
2
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
0
67
2
이 두가지는 완전히 동일한 기능인가요?
0
106
3
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
0
77
2
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
0
86
2
코딩 작성 순서 관련 질문
0
88
2





