Giter Club home page Giter Club logo

wanted-internship-2's Introduction

Wanted Front-End Internship Mission[2]

기술스택

main

React axios react-router-dom

state management

Redux

style

Styled-Components

버전 정보

이름 버전
node ^18.7.0
npm ^9.8.1
react ^18.2.0

프로젝트 실행

server repository

npm install
npm start

주요기능

API 호출별로 로컬 캐싱 구현 & 캐싱 데이터 expire time 구현

코드 이미지
Screenshot 2023-09-17 at 14 50 53
코드 Description

Screenshot 2023-09-16 at 22 12 29

입력마다 API 호출하지 않도록 호출 횟수 줄이기

코드 이미지

useDebounce custom hook

Screenshot 2023-09-17 at 15 00 59

Input

Screenshot 2023-09-17 at 15 05 39
  • 인자로 받은 callback 함수를 DEBOUNCE_DELAY_TIME 만큼 딜레이 후에 실행하는 함수를 return 하는 useDebounce custom hook 선언
  • input의 onChange event listener에 위에 말한 return된 함수 넣기
  • 검색어 상태를 변경하는 함수를 callback 함수로 넣어주기

키보드 만으로 최근 검색어 이동

Screenshot 2023-09-17 at 15 38 20
  • SearchKeywordList: 최근 검색어
  • childrenElementCount: 모달에 몇개의 최근 검색어가 있는지

Screenshot 2023-09-17 at 16 28 19
  • 최근 검색어가 있으면
    • key down
      • 최근 검색어 리스트의 끝 지점 도달 T/F
        • T : 최근 검색어 index 0 으로 초기화
        • F : childrenIndex + 1
    • key up
      • 최근 검색어 리스트의 처음 지점 도달 T/F
        • T : 최근 검색어 리스트 끝으로 이동
        • F : childrenIndex - 1

commit message convention

Commit Type Format
feat 새로운 기능 추가
bug 버그 수정
design 사용자 UI 디자인 변경(CSS 등)
refactor 코드 리팩토링
rename 파일 혹은 폴더명을 수정만 한 경우
remove 파일을 삭제만 한 경우
docs 문서수정
chore 빌드 업무 수정, 패키지 매니저 수정(gitignore수정 등)

wanted-internship-2's People

Contributors

tjswo2292 avatar

Watchers

 avatar

wanted-internship-2's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.