React ) Tooltip 라이브러리 react-tooltip

디자인이 나오지 않은 상태에서 개발을 진행중이라…(ㅎㅎ…) 툴팁은 라이브러리로 구현해놓기로 했습니다. 라이브러리는 가장 사용법이 간단하고 쉬운 react-tooltip 라이브러리 선택! 라이브러리 설치 2. ReactTooltip 컴포넌트 적용 hover 효과를 더할 요소에 ReactTooltip에 전달한 id와 똑같은 값을 data-for에 설정하면 됩니다. 그리고 children으로 tooltip에 띄울 내용 혹은 컴포넌트를 전달하면 끝입니다. effect, place, type은 부가적인 요소로 설정하지 않을 경우 default 값이 […]

Read more
React Timer 컴포넌트 (with hooks, setInterval)

토큰 만료기간을 사용자에게 알려주기 위해 타이머가 필요했다. useTimer를 할까했는데 아예 컴포넌트로 만든 예시가 많아서 참고해 구현했다. 일단 필요한 기능은 5분 제한과 재시작이고, 코드는 다음과 같다. 사용예시 (렌더링) isActiveTimer값은 토큰 요청을 할 때는 false로 했다가, 서버의 응답(토큰값)을 받게 되면 true로 바꾼다.

Read more
React ) window.print() 사용 (현재창, 새창 코드)

print 기능을 이용하게 되어 정리할 겸 기록~ 컴포넌트 전체코드 주의할 점 : react는 spa이기 때문에 document.body의 innerHTML을 변경해놓게 되면 새로고침을 해야한다. 하지만 새로고침을 하면 state는 초기값으로 돌아가게 되는데 이를 원치 않을 경우, 현재창이 아닌 새창에서 열기를 하면 된다. 그럼 현재의 돔트리에는 아무 수정이 없기 때문에 괜찮음!

Read more
React ) html파일 렌더링하기, script 태그 사용하기

퍼블리싱을 받았는데, noscript와 script 태그를 사용한 부분이 있었다. 문제는 리액트에선 두 태그를 사용하기가 까다롭다는 것… 그래서 아예 html파일을 만들고, 해당 파일을 iframe으로 렌더링하기로 했다. html 예시 iframe을 이용해 렌더링하는 법

Read more
react-id-swiper 라이브러리 인스턴스, 자동재생 컨트롤 다루기

슬라이더 구현에 react-id-swiper 라이브러리를 사용하게 되었다. 자동재생을 멈추고 다시 재생시키는 컨트롤 기능을 구현해야하는데 문서를 찾아봐도 react에서 인스턴스 생성하는게 없었고, useRef를 이용해도 계속해서 null값만 들어왔다. 그러던 중, github에서 해답을 찾았다. (출처 : https://github.com/kidjp85/react-id-swiper/issues/20) 나도 해당코드를 사용해서 메소드로 자동재생을 컨트롤 할 수 있었다. 사용예시

Read more
React ) useScroll / 노마드코더말고 직접 만든 스크롤 훅

섹션마다 스크롤 이벤트를 더해야해서 custom hook으로 만들어봤다! 노마드 코더와 다른 점은 element가 정해진 지점에 오게되면 true를 반환해서 해당 컴포넌트에서 스타일을 더하게된다. (이건 각자 css에서 정하면 된다 나같은 경우는 fade in) useScroll 사용예시

Read more
React ) \n 을
태그로 렌더링하기

api로 받은 데이터에 \n이 포함되어있는데, 받은 그대로 렌더링을 하면 줄바꿈이 되지 않는다. 그럴 땐 \n을 기준으로 split하여 배열을 생성하고, 렌더링 하면된다.

Read more
자바스크립트 빈 객체 체크하기

자바스크립트에서 빈 객체를 체크하는 법 빈객체는 null, undefined, length로 체크를 할 수 없기 때문에 객체의 속성을 배열로 만드는 Object.keys()함수를 사용해서 빈 객체를 체크한다. 사용예시

Read more
axios request마다 authorization 업데이트 하는 방법 ( interceptor )

프로젝트를 진행하는데 api마다 axios의 headers를 import해서 사용하였다. 그런데 그렇게 사용하다보니 axios가 header를 매번 update하지 않아서 authorization이 제대로 되지 않았다. 예를 들면, 로그인 하기 전의 token value를 가지고 있어서 로그인 하고 나서 새로고침 하기 전까지는 authorization이 undefined or null 값이 들어가게 되었다. 그래서 막 찾다보니 axios.interceptor로 이슈를 해결할 수 있었다. interceptor는 axios가 request가 발생할 때마다 작동하게 […]

Read more