inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

6-4. useEffect로 업데이트 감지하기

스프레드 연산자 질문 있습니다

175

hyojin hyo

작성한 질문수 2

0

for(let i=0i<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 ]

이렇게 출력이 될거라고 예상했는데 계속 []만 출력되더라구요

이유를 잘 모르겠어서 질문드립니다!

react

답변 1

0

제로초(조현영)

그래서 prev => 를 쓰는겁니다. useEffect의 [] 안에 winBalls가 들어있나요?

npm run dev 실행 시 포트가 안뜨는 문제

0

236

2

timeouts.current를 useEffect 의 input값으로 넣었을때

0

97

2

렌더링 테스트 코드 (Hooks)

0

93

1

Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.

0

165

1

해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"

1

207

1

강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ

0

105

1

useMemo와 useCallback 사용 시기

0

218

2

onRightClickTd가 작동을 하지 않습니다.

0

236

1

action.type 불러오는 방식

0

225

2

onClickRedo 질문

0

176

1

const Try = require(./Try) 빨간줄

0

259

1

npx webpack 실행시

0

324

1

지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.

0

241

1

강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?

0

318

1

react devtool이 enable 않됩니다.

0

544

2

React 랜더링이 되지 않습니다.

0

421

2

비동기로 동작하는 setState에 대해서

0

337

1

npm run dev 할 때 에러발생

0

494

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

210

1

devMiddleware의 필요성

0

358

1

리액트에서 화살표 함수를 사용해야하는 이유

0

946

2

path.join관련질문

0

287

2

2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러

0

384

1

next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니

1

502

4