[React] Countdown Timer

June Kang·2021년 6월 13일
1

React

목록 보기
2/3

1차 프로젝트 내 기능 중 카운트다운 타이머에 대한 내용을 정리해보고자 합니다.
제가 맡은 런칭특가 페이지와 타임딜 섹션에서 일부 사용되는 기능입니다.

setIntervalnewDate(),getTime() 그리고 Math.floor를 활용해서 로직을 구현했습니다. 어느정도 이해를 하고 있던 메소드들이었지만, 제대로 사용을 해보는 것은 처음이기 때문에 구글링해서 여기저기 자료들을 참고해서 작성했습니다.

  • newDate()는 현재 시간을 보여주며, getTime()과 함께 사용될 때는 1970 년 1 월 1 일 00:00:00 UTC와 주어진 날짜 사이의 경과 시간 (밀리 초)을 나타내는 숫자를 나타냅니다. 따라서 1970년 1월 1일 자정을 기준으로 현재 시간까지의 경과시간을 밀리 초로 나타내는 함수입니다.

  • Math.floor 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다. 간단히 말해 소수점 이하를 버림하는 함수입니다.

  • clearIntervalseInterval과 짝을 이룹니다.setInterval 함수는 기준 간격을 두고 주기적으로 이벤트를 발생 시키고 싶을 때 사용합니다. 그리고 중지하고 싶을 때는 clearInterval 함수를 사용합니다. clearInterval 함수의 매개변수는 setInterval 함수가 리턴해주는 값을 사용합니다.

  • 위에서 언급했듯이, setInterval 함수는 기준 간격을 두고 주기적으로 이벤트를 발생 시키고 싶을 때 사용합니다. this.count 함수를 1초마다 실행시키고 싶은 경우 setInterval(this.count,1000)의 형태로 사용하면됩니다. (1000ms=1s)

  • 여기서 하나의 문제점을 발견합니다. 예를 들어 5시간 4분 3초가 남은 경우 5:3:4의 형태로 출력되는 문제입니다. 틀린 표현은 아니지만 통상적인 남은 시간으로 받아들여지지는 않죠. 그래서 들어오는 숫자가 10 미만일 경우 앞에 0을 붙여주는 삼항연산자를 만들어, 05:03:04의 형태로 출력하게 해 문제를 해결했습니다.

profile
무슨 생각을 해... 그냥 하는거지 ~(˘▾˘~)

0개의 댓글