Click Redo 에서 set State 실행 부분 (비동기 관련)
안녕하세요. 강사님.
강사님의 높은 퀄리티의 강의를 듣고 열심히 공부중입니다. 감사합니다.
질문 사항은 다음과 같습니다.
아래는 로또번호를 다시 추첨하는
'한번 더' 버튼을 누를 때의 함수인데요.
보시면 winNumbers와 winBalls 의 setState가 같이 변경이 되고 있습니다.
제가 생각할 때에는, winNumbers의 당첨 번호가 모두 다 만들어 진 후에 winBalls의 배열이 [] 으로 되어,
runTimeouts() 가 실행되어야 할 것 같은데요.
실제로 set State 가 비동기로 실헹되기 때문에, 만약 로직상 번호를 다 만들고 timeouts를 실행해야 한다면, 동기적으로 처리를 하는 것이 맞지 않을까 라는 생각이 들어서 입니다.
혹시 강사님의 생각은 어떠신가요..?
질문 읽어주셔서 감사합니다!
답변 1
0
제가 생각할 때에는, winNumbers의 당첨 번호가 모두 다 만들어 진 후에 winBalls의 배열이 [] 으로 되어,
러고 하셨는데요. 지금 코드가 당첨번호가 다 만들어진 후에 runTimeout이 실행되는 코드입니다.
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





