4. 주문 목록 & 주문 상세

1. 주문 목록 확인

🛒 장바구니와 비슷하지만, 주문 목록은 개인화된 내용

주문 목록 API에 맞춘 types 추가

export type OrderSummary = {
  id: string;
  title: string;
  totalPrice: number;
  status: string;
  orderedAt: string;
}

ApiService에 fetchOrders 메소드 추가

async fetchOrders(): Promise<OrderSummary[]> {
  const { data } = await this.instance.get('/orders');
  const { orders } = data;
  return orders;
}

OrderListStore 추가

Hook 생성

OrderListPage 생성

routes에 페이지 추가

Orders 컴포넌트 작성

Order 컴포넌트 작성

2. 주문 상세 확인

🛒 상품 목록/장바구니와 비슷 🛍 디테일은 상품 디테일과 유사

주문 상세 API에 맞춘 types 추가

Null Object 준비

ApiService에 fetchOrder 메소드 추가

OrderDetailStore 추가

  • 중복이 싫을 경우, 보편화하는 방법을 찾아도 됨

주문 상세 정보를 얻는 useFetchOrder Hook 생성

  • useFetchProduct 복사해서 사용

OrderDetailPage 생성

  • 로딩, 에러 처리

routes에 페이지 추가

Order 컴포넌트 구현

처리 상태를 보고 싶은 경우 {order.status}로 받아올 수 있음

<dl />

MDN <dl>

Description List, 설명 목록

<dt>로 표기한 용어와 <dd>로 표기한 설명 그룹의 목록을 감싸서 설명 목록을 생성 주로 용어사전 구현이나 메타데이터(키-값 쌍 목록)를 표시할 때 사용

UI 구현하기

LineItem을 이용해 상품 목록을 보여주는 부분은 장바구니 보여줄 때 만든 LineItemViewOptions 컴포넌트를 재사용

Table 컴포넌트 추출

CartView 컴포넌트에서 Table 컴포넌트를 추출

Last updated