inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

6-3. componentDidUpdate

Click Redo 에서 set State 실행 부분 (비동기 관련)

해결된 질문

436

김민정

작성한 질문수 6

0

안녕하세요. 강사님.

강사님의 높은 퀄리티의 강의를 듣고 열심히 공부중입니다. 감사합니다.

 

질문 사항은 다음과 같습니다.

아래는 로또번호를 다시 추첨하는

'한번 더' 버튼을 누를 때의 함수인데요.

보시면 winNumbers와 winBalls 의 setState가 같이 변경이 되고 있습니다.

제가 생각할 때에는, winNumbers의 당첨 번호가 모두 다 만들어 진 후에 winBalls의 배열이 [] 으로 되어,
runTimeouts() 가 실행되어야 할 것 같은데요.

실제로 set State 가 비동기로 실헹되기 때문에, 만약 로직상 번호를 다 만들고 timeouts를 실행해야 한다면, 동기적으로 처리를 하는 것이 맞지 않을까 라는 생각이 들어서 입니다.

혹시 강사님의 생각은 어떠신가요..?

 

질문 읽어주셔서 감사합니다!

react

답변 1

0

제로초(조현영)

제가 생각할 때에는, winNumbers의 당첨 번호가 모두 다 만들어 진 후에 winBalls의 배열이 [] 으로 되어,

러고 하셨는데요. 지금 코드가 당첨번호가 다 만들어진 후에 runTimeout이 실행되는 코드입니다.

0

김민정

답변 감사합니다 강사님.

setstate 가 비동기로 실행되어도, 당첨 번호가 모두 다 만들어진 후에 실행이 되나요??

 

 

0

제로초(조현영)

a(b()) 가 있으면 b()가 다 실행된 후에 a가 실행되는 겁니다.

0

김민정

아 정확히 이해했습니다!

getWinNumbers() 가 먼저 실행되고 그다음에 setState가 실행되기때문에 상관없다는 말씀이시군요.

기본적인 부분인데 간과했습니다. 감사합니다!

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

0

205

2

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

0

88

2

렌더링 테스트 코드 (Hooks)

0

80

1

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

0

150

1

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

1

192

1

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

0

95

1

useMemo와 useCallback 사용 시기

0

207

2

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

0

227

1

action.type 불러오는 방식

0

222

2

onClickRedo 질문

0

172

1

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

0

248

1

npx webpack 실행시

0

314

1

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

0

235

1

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

0

311

1

react devtool이 enable 않됩니다.

0

531

2

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

0

412

2

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

0

332

1

npm run dev 할 때 에러발생

0

480

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

207

1

devMiddleware의 필요성

0

352

1

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

0

935

2

path.join관련질문

0

283

2

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

0

375

1

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

1

491

4