주문상품은 해당 상품에 대한 정보들을 보여줍니다.
쿠폰 관련 설명
저는 별도의 쿠폰과 관련된 세부 기능을 구현하지 않았습니다. 과제 내용인 백산수의 경우 coupon 관련 필드가 대부분 빈 객체이며, 오로지 '정기구독할인'만이 적용되고 있습니다.
"discountsByItemId": {
"2025072118493850": [
{
"discountType": "SUBSCRIPTION_DISCOUNT",
"discountProviderType": "SELLER",
"baseAmount": 12000,
"discountAmount": 360,
"discountUnitType": "AMOUNT",
"discountValue": 360,
"validityPeriodEndDateTime": null,
"multiPurchaseMinOrderValue": null,
"multiPurchaseUnitType": null
}
]
},
또한 세부 스펙에 대해서는 복잡하여 이해하기 쉽지 않았으며 데이터를 쉬이 구할 수 있는 상황이 아니었습니다. 따라서 이에 대한 부분은 단순 API 요청을 보내고 고정된(하드코딩된) 혜택만 적용하는 형태로 구현하였습니다.
useAllCoupon 상태 관리 주체
위와 같은 이유로 쿠폰에 대한 slice가 없었기에 useAllCoupon
에 대한 상태를 어디에 포함시킬지 고민했습니다.
새로고침시 데이터를 원복하기 위한 기능 구현을 위해선 useAllCoupon
의 상태를 확인해야합니다. 만약, 쿠폰 체크 여부에 대한 상태를 로컬 state로 관리하게 된다면, 해당 state를 부모 컴포넌트 또는 자매 컴포넌트로 이동시키기 위해 prop을 이용하게 되며, 이로 인해 props drilling이 생기게 됩니다. 따라서 coupon slice에서 해당 상태를 관리하기로 결정했습니다.