state 응용..? 질문드립니다!
146
작성한 질문수 14
수업 너무 머리아프고 재미있게 잘 듣고있습니다!
개인적으로 오늘 배운 state는 너무 재미있는데요!
수업을 듣고 곰곰히 생각하다 문득 떠오르는게 있어 질문드립니다!
import React from "react";
function TimerComponent() {
const [time, setTime] = React.useState(0);
console.log("컴포넌트 업데이트");
function updateTime() {
setTime(time + 1);
}
return (
<div>
<h3>{time}초</h3>
<button onClick={updateTime}>1씩 올려주세요</button>
</div>
);
}
export default TimerComponent;
이 코드를 쓰면 누를때 마다 숫자가 올라가잖아요??
그런데 조건을 좀 더 넣어서 연달아서 3초이상 누르지 않으면 다시 자동으로 0으로 돌아가게 만들려면 어떤것을 배워야 할까요?? 지금까지 배워왔던 걸로도 구현해 낼 수 있을까요?
답변 1
0
연달아서 3초 이상 누르지 않을 때 자동으로 돌아가게 하려면,
우선 마지막으로 누른시간에 대한 상태을 가지고 있어야 할 것 같습니다.
그리고 동시에 3초이상 누르지 않았는지 확인하기 위한 로직이 필요한데요. 해당 로직은 useEffect를 사용해서 컴포넌트가 렌더링될 때 실행되도록 하고, useEffect내에 setInterval 같은 함수를 사용해서 0.1초에 한번씩 마지막으로 누른 시간과 현재 시간을 비교해 3초 이상 차이가 났을 때를 확인하고 time state를 되돌리는 로직을 추가할 것 같습니다 ㅎㅎ
말로 쓰다보니 길어졌는데, 한번 코드 작성해보시고 공유해주시면 피드백드리겠습니다!
[해결]그랩님 답변 주세요.
0
194
2
그랩님의 답변을 기다립니다/102강 전반적인 에러
0
167
2
[그랩님께]101강 안드로이드 에러들(Key prop)해결방법 궁금합니다.
0
140
2
[재질문][그랩님 답변 부탁드립니다]101강
0
164
2
[그랩님 답변 부탁드립니다]101강 Axios 에러와 502 Bad Gateway 질문
0
121
2
Ngrok 설치 후 forwarding Url 에러
0
152
2
[그랩님께,Ngrok 악성코드 인식 해결방법]질문 드립니다.
0
259
2
Ngrok 설치 후 forwarding Url로 연결 불가
0
159
1
그랩님,[꼭] 답변 부탁드립니다.
0
78
1
[꼭][[꼭] 그랩님, 답변 부탁드립니다], Failed to load resource: the server responded with a status of 404 (Not Found) 상품 상세 페이지 질문입니다.
0
163
1
6강/7강 수업
0
58
1
그랩님, 상품 상세 페이지 에러와 의문점 질문드립니다.
0
106
2
그랩님, 해결되지 않은 에러 메시지 [꼭] 답변 부탁 드립니다.
0
150
2
[재 질문]Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?
0
96
1
Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?
0
136
2
일반적인 css 꾸미기에서 width와 height의 값?
0
99
2
Windows에서의 업로드 후 홈화면 상품이미지 오류 해결방법
0
206
1
그랩마켓 웹화면 구현하기 -2 질문입니다.
0
128
1
react에 반영이 되지 않습니다.
0
254
1
터미널 npm install -g create-react-app 작성 후 오류
0
430
1
create-react-app my app 실행 시 에러
0
358
2
포스트맨 질문
0
105
1
<꼭 답변 부탁 드립니다>그랩선생님, [컴포넌트 사용하기] 강의에서 질문 있습니다.
0
271
2
그랩선생님, 질문 답변 부탁 드립니다.vscode에서 npm install -g create-react-app 입력 후 에러 입니다.
0
501
2





