<script src="src/utils/validator.js"></script>
<script src="src/api.js"></script>
<script src="src/ImageInfo.js"></script>
<script src="src/SearchInput.js"></script>
<script src="src/SearchResult.js"></script>
<script src="src/App.js"></script>
<script src="src/main.js"></script>
시작하기 전에
index.html을 열어 앱에서 사용하는 js 파일 목록을 파악하고 각 역할을 짐작해 봅니다.필수 구현사항
로딩 컴포넌트 만들기
🔥TIP
{show:true}검색 결과 없음(empty state) UI
🔥TIP
랜덤 버튼 추가하기
/api/cats/random을 호출하여 화면에 뿌리는 기능을 추가합니다. 버튼의 이름은 마음대로 정합니다.🔥TIP
모달 제어
/cats/:id를 통해 불러와야 합니다.🔥TIP
스크롤 & 다음 페이지 로딩
--
/cats/search?page=1,/cats/search?page=2처럼 엔드포인트에 page라는 파라미터를 추가해 주세요-- 1페이지는 파라미터를 붙일 필요 없습니다.
-- page 파라미터를 제어하는 상태를 추가하여 작성해 보세요.
🔥TIP
로컬스토리지 다루기
SearchInput아래에 표시되도록 만들고, 해당 영역에 표시된 특정 키워드를 누르면 그 키워드로 검색이 일어나도록 만듭니다. 단, 가장 최근에 검색한 5개의 키워드만 노출되도록 합니다.🔥TIP
['키워드1', '키워드2']기타
input에 가도록 처리하고, 키워드를 입력한 상태에서input을 클릭할 시에는 기존에 입력되어 있던 키워드가 삭제되도록 만들어야 합니다.🔥TIP
input을 클릭할 시"에 대해 한 번 더 고민해 보고 이벤트 구문을 작성합니다.참고 자료