강의

멘토링

커뮤니티

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

띄융님의 프로필 이미지
띄융

작성한 질문수

웹 게임을 만들며 배우는 React

5-5. Hooks와 useEffect

useEffect의 두 번째 배열인자에 변하는 값을 넣으면 useEffect안의 코드가 재실행되면서 두번째 배열에 넣은 인자값을 계속 추적하게 되나요?

해결된 질문

작성

·

242

1

useEffect(() => {

  interval.current = setInterval(changeHand, 1000)

  return () => {

    clearInterval(interval.current)

  }

}, [])


했을때 가위바위보가 제대로 실행이 안되고

useEffect(() => {

  interval.current = setInterval(changeHand, 1000)

  return () => {

    clearInterval(interval.current)

  }

}, [imgCoord])

 

했을때는 가위바위보가 제대로 실행되는 이유가

imgCoord 값이 변경될때 useEffect안에있는 코드들이 다시 실행되어서 인건 이해했습니다.

그렇다면 두 번째 인자 배열에 imgCoord값을 넣으면 

useEffect안의 코드인  interval.current = setInterval(changeHand, 1000)가 재실행되어서 

imgCoord값이 바뀔때 imgCoord값을 추적하게 되니까 imgCoord값이 '바위' -> '가위' -> '보' -> '바위' 이렇게 바뀔 수 있는 건가요?

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 특히 changeHand가 새롭게 업데이트돼서 그렇습니다.

띄융님의 프로필 이미지
띄융
질문자

이제 이해가 가네요

값을 추적하니까 계속 changeHand함수를 호출하면서 imgCoord 값이
'바위' -> '가위' -> '보' -> '바위' -> 반복
했던 거였군요..

감사합니다~

띄융님의 프로필 이미지
띄융

작성한 질문수

질문하기