- 상단
Code
버튼을 눌러 레포지토리를 클론 받습니다.
$ git clone https://github.com/wanted-team2/3week_SearchFilter.git
- 패키지를 설치합니다.
$ yarn install
- 서버를 실행합니다.
$ yarn start
김지영(팀장) | 고병표 | 유제호 | 홍수연 |
---|---|---|---|
정보 공유 | 반복 최소화 |
---|---|
- 콜백 함수의 불필요한 실행을 줄여주기위해 검색 기능에
debounce
적용 - 불필요한 서버 리퀘스트를 막고, 불필요한 통신을 줄임과 동시에 필요 없는 렌더링 또한 막을 수 있음
- 데스크탑과 모바일 두 가지 버전의 레이아웃을 구성
-
데스크탑
버전에서는 넓은 스크린이라는 특성에 맞추어 많은 양의 데이터를 조회할 수 있도록페이지네이션
추가
브랜드 버튼
과제품 버튼
을 제공하여 항목별 검색가능 -
모바일
버전에서는 화면이 터치가능하다는 특성에 맞추어브랜드 태그
를 추가해 브랜드별 상품들을 쉽게 조회할 수 있도록 구성
- 검색리스트 조회요청 시 검색창이 초기화되도록 설계하여 이후 재검색을 필요로 하는 상황에서 불필요한 행동을 줄이고 더 빠르게 사용 가능
- 대소문자 구분 x
- 제품명, 브랜드명 으로 필터링 한 뒤 리스트 병합
- 검색창 클릭 시 하단에 이전 검색 기록이 제공되도록 설계
이전에 검색했던 상품을 확인할 수 있어 자주 구매하는 상품을 빠르게 확인 및 검색 가능
Pagination
컴포넌트 구현- 페이지 가장끝과 앞으로 이동하는 기능 구현
- 필요한 데이터만 slice로 잘라서 보여주는 기능 구현
Header
,ItemBox
구현MainBox
,ItemBrandBtn
구현검색 기능
및Filter
로직 구현
TagList
,Input
,ResetBtn
컴포넌트 구현Main
컴포넌트에 domain 컴포넌트 병합 및 UI 수정
├── README.md
├── build
│ ├── mock
│ ├── asset-manifest.json
│ ├── index.html
│ ├── robots.txt
│ └── static
├── config-overrides.js
├── package.json
├── public
│ ├── mock
│ ├── index.html
│ └── robots.txt
├── src
│ ├── apis
│ ├── assets
│ ├── components
│ ├── hooks
│ ├── pages
│ ├── styles
│ ├── types
│ └── utils
├── APP.tsx
├── index.tsx
├── setupTest.ts
├── tsconfig.json
├── tsconfig.paths.json
└── yarn.lock