티스토리 뷰
Timer
// 외부모듈
import React, { useState, useEffect, useRef } from 'react';
import styled from 'styled-components';
function Timer({ setIsStartTimer }) {
const [seconds, setSeconds] = useState(20);
useEffect(() => {
const countdown = setInterval(() => {
setSeconds(parseInt(seconds, 10) - 1);
}, 1000);
if (parseInt(seconds, 10) === 0) {
clearInterval(countdown);
setIsStartTimer(false);
}
return () => clearInterval(countdown);
}, [seconds]);
return (
<StTimer>
<StTimerText>남은 시간</StTimerText>
<GameTimer>{seconds} 초</GameTimer>
</StTimer>
);
}
export default Timer;
const StTimer = styled.div`
border: 1px solid green;
display: inline-block;
`;
const StTimerText = styled.div`
font-size: 24px;
`;
const GameTimer = styled.div`
font-size: 24px;
`;
GameRoomRTC
Timer import 하는 곳
const [isStartTimer, setIsStartTimer] = useState(false);
function timerStart() {
setIsStartTimer(true);
}
<div>
<button onClick={timerStart}>발언권 부여</button>
{isStartTimer && <Timer setIsStartTimer={setIsStartTimer} />}
</div>
게임 타이머 만들기
parseInt(seconds) 를 쓰니 Missing radix parameter 오류남
- 기수 매개 변수 누락
문자열이 다른 값으로 시작하는 경우 기수는 10
https://rateye.tistory.com/1012
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/en-US/docs/Web/API/setInterval
https://ko.javascript.info/settimeout-setinterval
https://www.daleseo.com/js-timer/
https://handhand.tistory.com/32
https://twinklehwa.tistory.com/426
https://devjhs.tistory.com/115
https://developer.mozilla.org/en-US/docs/Web/API/setTimeout
aws 배포
https://hell-of-company-builder.tistory.com/m/244
https://react-etc.vlpt.us/08.deploy-s3.html
https://42place.innovationacademy.kr/archives/9784
https://uiyoji-journal.tistory.com/88
https://lopicit.tistory.com/450
https://kooremo.tistory.com/m/entry/react-yarn-%EB%B9%8C%EB%93%9C%ED%95%98%EA%B8%B0
https://ui.dev/react-router-nested-routes
중첩라우팅 왜 안 됨???왜!!!!!!!
'Edu_hanghae99 > TIL' 카테고리의 다른 글
[TIL] 230116 (0) | 2023.01.16 |
---|---|
[TIL] 230114 (0) | 2023.01.15 |
[TIL] 230112 (0) | 2023.01.13 |
[TIL] 230111 (0) | 2023.01.11 |
[TIL] 230110 (1) | 2023.01.11 |