인프런 커뮤니티 질문&답변
클로저문제
해결된 질문
작성
·
248
1
클로저 문제
비동기함수에서 바깥쪽 변수 찾는데
componentDidMount(){
const {imgCoord} = this.state
setInterval(){
}
}
내부함수에서 외부함수 변수 참조하는데 딱히 문제 될거 없지 않나요?? 이부분 조금 이해한되는데 조금만 더 설명 부탁드려도 될까요?TT
답변 1
7
제로초(조현영)
지식공유자
비동기 함수의 경우 자주 발생하는 문제인데요. imgCoord를 setInterval 바깥에 빼면 imgCoords는 setInterval하기 전 시점으로 고정됩니다. 그래서 setInterval 후에 가위->바위로 바뀌어도 가위로 계속 남아있고, 그걸 참조하게 됩니다.
imgCoord가 setInterval 안에 들어있으면 setInterval하는 순간의 imgCoords를 가져옵니다. 따라서 항상 최신 imgCoords값을 가져올 수 있게 됩니다.




