인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

gonggong님의 프로필 이미지
gonggong

작성한 질문수

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

state 사용하기

setTime 함수 질문

작성

·

170

3

안녕하세요!

혹시 setTime 함수부분에서 updateTime() 함수를 따로 만들어 주는 이유가 있나요?

그냥 function setTime(){

                         time = time + 1

}

이런식으로 클릭해서 setTime함수를 바로 호출은 안되나요?

답변 1

2

그랩님의 프로필 이미지
그랩
지식공유자

time은 useState를 통해 생성되었으며, time을 직접 변경하는 게 불가능하고 별도의 변경해주는 함수가 존재하게 됩니다.

그래서 [time, setTime] = useState(0) 이렇게 time과 time을 변경시켜주는 setTime함수를 useState 함수에서 받아서 사용해야만 합니다 :)

강사님 다시 렌더링이 된다하면 const [time, setTime] = react.useState(0); 여기 부분도 다시 실행된다는건데 그럼 time이 다시 0으로 초기화되는거 아닌가요?? 이해가 잘 되지 않습니다 ㅠ

그랩님의 프로필 이미지
그랩
지식공유자

내부적으로 useState나 use가 붙은 함수(react에서는 이를 hook이라고 합니다)는 다시 실행시키지 않고 그대로 해당 값을 유지하게 두기에 가능합니다 :)

gonggong님의 프로필 이미지
gonggong

작성한 질문수

질문하기