상품 목록 페이지

상품 목록

- ProductListPage.tsx
  - useFetchProducts.ts  // 👈🏻 store로 부터 상품 목록 얻어 반환 
    - ProductsStore.ts  // 👈🏻 store 생성 
      - ApiService.ts  // 👈🏻 API 호출 모아서 관리하는 파일
  - Products.tsx  // 👈🏻 상품 목록 리스트 
    - Product.tsx // 👈🏻 개별 상품 
      - numberFormat.ts // 👈🏻 유틸리티 함수

ProductListPage.tsx

  • 상품 목록을 얻어 상품 리스트를 보여주는 페이지

useFetchProducts.ts

  • ProductsStore.ts 부터 상품목록에 대한 상태와 API 요청 함수 호출 후 상품목록을 반환하는 hook

ProductsStore.ts

  • 상품 목록에 대한 상태, API 요청 액션 함수로 구성

ApiService.ts

  • API 호출을 모아 모아서 관리하는 파일

Products.tsx

  • props로 전달받은 상품 목록 리스트 (products) 정보로 UI 구현

Product.tsx

  • props로 개별 상품의 정보로 UI구현

numberFormat.ts

  • 가격의 숫자를 읽기 좋게 보여주기 위해 유틸리티 함수 작성

📖 Intl

다국어 지원을 할 때 유용하게 쓸수 있는 Intl API

  • 언어에 맞는 숫자 서식을 지원하는 객체의 생성자

카테고리 목록

카테고리별 상품 목록

카테고리 ID를 얻기 위해 useSearchParams hooks 사용

  • ProductListPage.tsx 컴포넌트에서 hooks 사용

전달받은 categoryId 사용하도록 변경

  • 해당 파일들에 categoryId 사용될 수 있도록 인수 전달 및 타입 지정

  • useProducts.ts

  • ProductsStore.ts

  • ApiService.ts

    • axios params 옵션을 통해 categoryId 전달

🔗 참고

Last updated