-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
스프레드 연산자 질문 있습니다
21.07.31 16:58 작성 조회수 98
0
for(let i=0; i<winNumbers.length-1;i++){
timeouts.current[i]=setTimeout(()=>{
console.log(winBalls)
setWinBalls([...winBalls,winNumbers[i]])
},(i+1)*1000)
}
useEffect 안에 코드를 이렇게 넣고 짰습니다.
여기서 winNumbers가 [ 8, 16, 29, 36, 39, 41 ]라고 하면
winBalls라는 배열 안에 이전 winBalls를 복사한 후 winNumbers의 숫자를 한개씩 넣는걸로 이해했어요.
setWinBalls로 winBalls를 바꿔주니까 굳이 prevBalls를 넣지 않아도 된다고 생각했거든요.
winBalls배열은 바깥에 선언되어있고 for문을 돌면서 이전 배열을 복사해서 넣는거니까 winBalls가
[ 8 ]
[ 8, 16 ]
[ 8, 16, 29 ]
[ 8, 16, 29, 36 ]
[ 8, 16, 29, 36, 39 ]
[ 8, 16, 29, 36, 39, 41 ]
이렇게 출력이 될거라고 예상했는데 계속 []만 출력되더라구요
이유를 잘 모르겠어서 질문드립니다!
답변을 작성해보세요.
0
답변 1