민프
[React][TypeScript][Library] 날짜, 시간 카운트다운 라이브러리 react-countdown를 사용해보자 본문
[React]
[React][TypeScript][Library] 날짜, 시간 카운트다운 라이브러리 react-countdown를 사용해보자
민프야 2023. 6. 20. 21:59
내가 원하는 모습은 위 사진과 같다.
처음엔 moment 라이브러리로 시간 차이를 구해서 카운트 다운을 해주려고 했는데 관련 라이브러리가 있어서 사용해보았다
라이브러리 설명은 아래 링크에 들어가서 보면 된다.
https://www.npmjs.com/package/react-countdown
먼저 인스톨을 하고
npm i react-countdown
코드는 아래와 같다
import Countdown from "react-countdown";
.
.
.
const targetDate = new Date(convertUnixTimestamp(Number(secondContent)));
// Renderer callback with condition
const renderer = ({
hours,
minutes,
seconds,
completed,
}: {
hours: number;
minutes: number;
seconds: number;
completed: boolean;
}) => {
if (completed) {
// Render a completed state
return (
<span>
{hours >= 10 ? hours : `0${hours}`}:{minutes >= 10 ? minutes : `0${minutes}`}:
{seconds >= 10 ? seconds : `0${seconds}`}
</span>
);
}
// Render a countdown
return (
<span>
{hours >= 10 ? hours : `0${hours}`}:{minutes >= 10 ? minutes : `0${minutes}`}:
{seconds >= 10 ? seconds : `0${seconds}`}
</span>
);
};
return (
<Container isUnderLine={isUnderLine}>
<div>
<span className="topText">{title}</span>
</div>
<div className="contentBox">
{isBlackText ? (
<div>
<span className="blackText">{content}</span>
{title === t("FCD") && <Countdown date={targetDate} renderer={renderer} />}
</div>
) : (
<div>
{" "}
<ColorText status={contentStatus || false}>{content}</ColorText>
<span className="topText">{secondContent || ""}</span>
</div>
)}
</div>
</Container>
);
}
'[React]' 카테고리의 다른 글
[React][TypeScript] Build 최적화하기 (Terser, react-app-rewired) (0) | 2023.07.05 |
---|---|
[React] 가로 스크롤 바 안보이게 하기 [기록] (0) | 2023.06.27 |
[React][TypeScript] SockJS, STOMP 연결 (기록) (0) | 2023.06.20 |
[React][TradingView] LibrarySymbolInfo 객체 속성 (0) | 2023.06.08 |
[React][TypeScript] StoryBook 설치 및 사용 설명 (0) | 2023.05.08 |
Comments