[React] 타이머 만들기 / Modal창 추가, jsconfig 절대경로 연결
·
Project/Timer Project
결과 이런저런 시도를 하는 중이라 디자인은 크게 건들지 않고 있다. 결과 설명 우선은 ● 버튼을 임시로 모달창이 나오게 하려 했는데, 클릭 후 이벤트를 어떤식으로 넘겨줘야 할지 고민 중이다. 제목을 적고 확인을 누르면 타이머 밑에 시간이 저장되고 무엇을 하며 시간을 보냈는지 기록하도록 할 것이다. 저장은 Firebase에 Firestore 기능을 이용할 예정이다. 최종적으로 시간을 기록하다가 ■ 버튼을 눌렀을 때 Firestore에 저장이 되고 화면에 출력되는 것이다. jsconfig 절대 경로 [ jsconfig.json ] { "compilerOptions": { "baseUrl": "src" }, "include": [ "src" ] } 위 코드를 jsconfig.json 이름으로 저장하면 절대 경..
[React] 타이머 만들기 / Router와 상단 NavBar 추가, padStart 적용
·
Project/Timer Project
추가 상단에 NavBar를 만들었고, Router를 통해 경로 지정을 해주었다. 변경 타이머 빈 공간에 0을 조건식으로 작성했었다. {currentHours < 10 ? `0${currentHours}` : currentHours}:{ currentMinutes < 10 ? `0${currentMinutes}` : currentMinutes}:{ currentSeconds < 10 ? `0${currentSeconds}` : currentSeconds} 이러한 방식은 시간을 저장하게 되었을 때 중복이 되고, 불편할 것이라 생각하여 ES7의 padStart를 사용하였다. setCurrentHours(String(hours).padStart(2, '0')) setCurrentSeconds(String(sec..
[React] 동적인 타이머 만들기 React에서 FontAwesome 아이콘 사용/ 기본 배치 CSS
·
Project/Timer Project
최종 결과 기존 타이머에 약간의 CSS를 적용시켰다. 아이콘은 FontAwesome에서 가져와 사용하였다. React에서 Font Awesome 사용 - 오류 JSX상에서 기존 HTML처럼 Font Awesome의 CDN키를 적용하니 아래와 같은 오류가 발생하였다. Warning: Invalid DOM property `crossorigin`. Did you mean `crossOrigin`? → JSX는 CamelCase를 사용하기 때문에 위와 같은 오류가 나온다고 생각한다. 관련 패키지 설치 Font Awesome의 SVG 기반 아이콘 활성화시키기 위한 패키지 npm i @fortawesome/fontawesome-svg-core Font Awesome에서 제공되는 Solid, Regular, Lig..
[React] state를 활용한 동적인 타이머 만들기 - 시작, 정지, 리셋 기능 구현
·
Project/Timer Project
최종 결과 타이머의 시작, 정지, 리셋 기능을 만들었고 정상 작동 중이다. 현재 상황 어제 React Hook 사용이 익숙하지 않다는 것을 뼈저리게 느끼고 Hook 공식 문서를 읽으며 이해하고자 노력했다. 공식문서를 읽는 횟수가 늘어날수록 점점 이해하는 것이 느껴지기 시작했고 읽기 전보다는 조금 더 성장했다고 느껴진다. 지금까지 타이머와 타이머의 시작 버튼을 눌렀을 때 시작되는 것까지 만들었기 때문에 오늘 정지와 리셋 버튼을 만들려고 시도해보았다. 추가적으로 시작 버튼이 중복으로 눌릴 경우 setInterval이 반복해서 작동하는 오류를 수정하려 했다. 설명 updateTimer 함수가 화면에 보이는 타이머의 시간을 변경하는 함수이다. 블로그를 참고하여 시작, 정지, 리셋 기능이 가능한 1초에 1씩 증가..
[React] 타이머 만들기 react-compound-timer 라이브러리 활용
·
Project/Timer Project
react-compound-timer 라이브러리를 사용하여 타이머를 만들어보았다. https://www.npmjs.com/package/react-compound-timer react-compound-timer Timer compound react component www.npmjs.com 코드에 관한 설명은 위 링크 내용을 참고해주세요 import React from 'react' import Timer from 'react-compound-timer/build'; export default function SetTimer() { const Hours = Timer.Hours const Minutes = Timer.Minutes const Seconds = Timer.Seconds console.dir..
[React] new Date(), state를 활용한 동적인 현재시간 나타내기
·
Project/Timer Project
오류 import React, { useState } from 'react' export default function App() { const [timer, setTimer] = useState('0'); const currentTimer = () => { const date = new Date(); const hours = String(date.getHours()).padStart(2, "0"); const minutes = String(date.getMinutes()).padStart(2, "0"); const seconds = String(date.getSeconds()).padStart(2, "0"); return (`${hours}:${minutes}:${seconds}`) } const cu..