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