React
-
[Input 이벤트] input readonly, 백스페이스 기능React/과제 테스트 2023. 8. 8. 19:05
과제 테스트 준비 input 태그와 관련되어서 좀 더 심도있게 준비를 하게 되었다. 🐇 readonly 유저가 input에 직접 값을 입력할 수 없다. readonly를 사용하면 된다. readonly를 사용하지 않을 때는 onChange 함수를 기입해야 한다. 🐇 backspace 백스페이스 기능 입력된 값을 백스페이스로 지울 수 있다 1. input의 onKeyDown 메소드를 이용 handleKeyDown(event, 'password')} /> 이때, 매개변수가 1개라면 event를 생략할 수 있다. ex) onKeyDown={handleKeyDown} 2. backspace 확인 및 기능 동작하는 함수 작성 const handleKeyDown = (event: React.KeyboardEvent..
-
[Input 이벤트] 포커스 이벤트, 영역 외부 클릭시 상태 변화, document.addEventListenerReact/과제 테스트 2023. 8. 8. 18:53
과제 테스트 준비 input 태그와 관련되어서 좀 더 심도있게 준비를 하게 되었다. 🐇 포커스 이벤트 유저가 input 태그를 클릭하면 아래 키패드가 떠야 한다. 1. 키패드 가시성 여부를 state로 관리한다. const [IsOpenPasswordKeypad, setIsOpenPasswordKeypad] = useState(false); 2. 두 개의 같은 동작을 이용할 예정으로 키패드는 컴포넌트로 생성한다. const displayKeypad = (type: InputType) => { return ( {Array.from({ length: 10 }, (_, i) => ( handlePasswordChange(type, i)} > {i} ))} 9 * ); }; 3. div 클릭 / focus일때 ..
-
[고양이 사진 검색 사이트] 스크롤 페이지 구현, 랜덤 고양이 배너 section,EventDelegationReact/과제 테스트 2023. 8. 7. 13:59
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇 스크롤 페이징 구현 유저가 스크롤바 끝가지 이동 시 다음페이지 로딩하도록 만들어야 한다 1. api 호출시 page 추가 export const getSearchCatData = async (keyword, pages) => { return fetchData( `${API_..
-
[고양이 사진 검색 사이트] - 이미지 상세 보기 모달 : 모달, keypress, fade in/outReact/과제 테스트 2023. 8. 7. 13:41
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇이미지 상세보기 모달 🥕 max-size가 768px 이하인경우 모달의 가로길이를 디바이스 가로길이만큼 늘림 1. modal 창 구현 e.stopPropagation()} isOpen={isOpen}> {isLoading ? ( 로딩중 ) : ( x {catDetail && ..
-
[고양이 사진 검색 사이트] 검색 페이지 - autofocus, Loading, api 연결, try & catch, async, await,img titleReact/과제 테스트 2023. 8. 7. 13:21
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇 검색 페이지 🥕 페이지 진입 시 검색창(input)에 focus처리 ※ autofocus autoFocus속성은 일반 HTML에서와 같은 방식으로 작동합니다. css에는 input autofocus가 있다. 하지만, 입력이 여러 개인 경우autoFocus한 페이지에autoF..
-
[고양이 사진 검색 사이트] HTML, CSS - 시맨틱, media query, 다크모드(dark mode)React/과제 테스트 2023. 8. 7. 12:22
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇 HTML, CSS 🥕시맨틱 마크업 적용 코드가 전체적으로 div로만 이루어져 있습니다. 시멘틱한 방법으로 마크업을 변경하세요. 시맨틱한 코드 시맨틱(symantic)한 코드란 무엇인가? 시맨틱은 '의미의'라는 뜻을 가지고 있는 단어다. 코드에 적용하게 되면 말 그대로 Div..
-
[React Testing Library] msw를 활용한 mock API 테스트React/jest 2023. 8. 4. 21:07
3. MSW를 활용한 mock API 테스트 본 라이브러리를 학습하기 위해 코딩앙마님의 강의를 수강하였습니다. 3.1 Mock Serveice Worker 다운 및 세팅 Node - Getting Started Mock Service Worker Docs mswjs.io Install - Getting Started Mock Service Worker Docs mswjs.io 위 사이트를 방문해서 install 및 integrate를 해준다. src/mock 안에 handlers.js + server.js를 생성하면 된다. 그 후 src/setupTests(생성X).js의 내용을 다음과 같이 수정한다. // jest-dom adds custom jest matchers for asserting on DO..
-
[React Testing Library] 기본 활용법, 유저 이벤트 테스트React/jest 2023. 8. 4. 20:41
0. Introduction Jest를 사용하면서 대부분 함수 단위의 유닛 테스트나 통합 테스트만 사용했었다. 팀 단위 프로젝트의 CI/CD를 구상하면서 리액트 컴포넌트가 잘 렌더링되고 있는지 확인이 필요했고, CRA에서 기본적으로 지원하는 React Testing Library를 사용해보기로 하였다. 1. 기본 개념 본 라이브러리를 학습하기 위해 코딩 앙마님의 React Testing Library 강의 영상을 수강하였고, 기본 개념과 코드들은 해당 영상을 참고하여 작성하였다. 1.1 컴포넌트 렌더링 테스트 가장 기본적인 App 컴포넌트가 렌더링되고 있는지에 대한 테스트를 작성해보자. 아래의 테스트는 App 컴포넌트를 렌더링하여 heading역할을 하는 요소를 받아온다. 그리고 해당 엘리먼트가 화면에 ..