반응이 있는 디지털 시계
17185 단어 reactdigitalclockjavascript
사용된 글꼴: digital-7
이 프로젝트를 통해 나는 useEffect()와 setInterval()을 사용하는 방법을 배웠다.
시간, 분, 초 및 날짜에 대해 네 가지 useState()를 사용했습니다.
const [hours,setHours]=useState("00");
const [minutes,setMinutes]=useState("00");
const [seconds,setSeconds]=useState("00");
const [date,setDate]=useState("date");
우리는 자바 스크립트에서 현재 날짜를 얻을 수 있습니다.
new Date()
그래서
let d=new Date()
를 만들어 관련 내용을 추출하고 모든 변수를 설정했습니다.useEffect(
()=>{
const intervalId= setInterval(()=>{
let d=new Date();
var h=d.getHours().toString();
var m=d.getMinutes().toString();
var s=d.getSeconds().toString();
var z=d.getDate().toString()+" / "
+(d.getMonth()+1).toString()+" / "
+d.getFullYear();
setDate(z);
setHours(h);
setMinutes(m);
setSeconds(s);
return () => clearInterval(intervalId);
},1000);
},[seconds,minutes,hours,date]);
완료한 줄 알았는데 시간이 24시간 형식이므로
h=(h%12)||12;
까지 12시간으로 변경했습니다.padstart(2,'0');
를 사용하여 처음에 0을 채웠습니다.일부 JSX를 반환했으므로 이제 App.js의 전체 코드는 다음과 같습니다.
import React ,{useState,useEffect}from 'react';
import './App.css'
export default function App() {
const [hours,setHours]=useState("00");
const [minutes,setMinutes]=useState("00");
const [seconds,setSeconds]=useState("00");
const [date,setDate]=useState("date");
useEffect(
()=>{
const intervalId= setInterval(()=>{
let d=new Date();
var h=d.getHours();
var m=d.getMinutes().toString();
var s=d.getSeconds().toString();
h=(h%12)||12;
h=h.toString();
var z=d.getDate().toString().padStart(2,'0')+" / "
+(d.getMonth()+1).toString().padStart(2,'0')+" / "+d.getFullYear();
setDate(z);
setHours(h.padStart(2,'0'));
setMinutes(m.padStart(2,'0'));
setSeconds(s.padStart(2,'0'));
return () => clearInterval(intervalId);
},1000);
},[seconds,minutes,hours,date]);
return (
<div>
<h1>Digital Clock</h1>
<hr/>
<h1 className="date">{date}</h1>
<h1 className="glow">{hours}
:{minutes}
:{seconds}</h1>
</div>
)
}
이제 스타일 지정으로 이동합니다. App.css
검은색 배경, 녹색 디지털 시계 및 오늘 날짜가 포함된 가져온 디지털 글꼴
@font-face{
font-family:'digital-7';
src: local('digital-7'),url('./fonts/digital-7.ttf')format('truetype');
}
body{
background-color: black;
}
h1
{ font-family:'digital-7';
font-size: 80px;
color: #32cd32;
text-align: center;
}
.date{
letter-spacing: 4px;
position: fixed;
top: 80%;
left: 50%;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}
.glow {
letter-spacing: 4px;
position: fixed;
top: 50%;
left: 50%;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}
따라서 최종 출력은 이 게시물의 썸네일처럼 보입니다.
![](https://s1.md5.ltd/image/1c7db1ed55294efc0d8aed6b650b9895.png)
내 속도 코드를 확인할 수 있습니다
Day5의 #100DaysOfCode.
Reference
이 문제에 관하여(반응이 있는 디지털 시계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vasanth9/digital-clock-with-react-494l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)