useEffect []
리액트에서 setState될때 리렌더링이 일어나는데
클래스는 아래 render() 부분이 다시실행되는반면
Hooks는 전체가 다시실행되버리기때문에
useEffect에 [ ] 배열이 비어있을경우 setInterval이 딱한번만 실행되고 리렌더링되버려서 그림이 더안바뀌고.
[ ] 에 useEffect로 값이변경되는 state를 넣으면 그걸 감지해서 setInterval이 다시실행되고 .반복한다.
제가 이해한 useEffect 작동원리가 이런데.. 맞는건가요?
답변 1
2
빈 배열인 경우에도 setInterval은 실행되므로 changeHand는 계속 실행됩니다. 다만 그림이 안 바뀌는 이유는 changeHand 내부의 imgCoord가 안 바뀌기 때문입니다.
그래서 imgCoord를 바꾸기 위해서 [imgCoord]를 넣은 것입니다.
0
이 부분 관련해서 궁금한 점이 있습니다. useEffect 두 번째 인자로 빈 배열을 둘 경우 setInterval의 changeHand 함수는 계속 실행되는데 useEffect가 이 함수 내부에 setImgCoord의 실행을 막는 것인가요?
0
아뇨 setImgCoord는 실행되는데 changeHand가 처음 선언된 함수 그대로 가는겁니다. changeHand 내부의 imageCoord도 첫 상태 그대로 가는거고요.
npm run dev 실행 시 포트가 안뜨는 문제
0
202
2
timeouts.current를 useEffect 의 input값으로 넣었을때
0
85
2
렌더링 테스트 코드 (Hooks)
0
80
1
Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.
0
149
1
해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"
1
190
1
강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ
0
95
1
useMemo와 useCallback 사용 시기
0
205
2
onRightClickTd가 작동을 하지 않습니다.
0
226
1
action.type 불러오는 방식
0
222
2
onClickRedo 질문
0
172
1
const Try = require(./Try) 빨간줄
0
248
1
npx webpack 실행시
0
313
1
지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.
0
234
1
강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?
0
311
1
react devtool이 enable 않됩니다.
0
530
2
React 랜더링이 되지 않습니다.
0
409
2
비동기로 동작하는 setState에 대해서
0
331
1
npm run dev 할 때 에러발생
0
478
2
memo, PureComponenet, shouldComponentUpdate 관련 질문
0
205
1
devMiddleware의 필요성
0
352
1
리액트에서 화살표 함수를 사용해야하는 이유
0
931
2
path.join관련질문
0
280
2
2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러
0
371
1
next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니
1
488
4





