인프런 커뮤니티 질문&답변
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값이 '바위' -> '가위' -> '보' -> '바위' 이렇게 바뀔 수 있는 건가요?





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