inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

커스텀 훅으로 우아하게 interval하기

8:30 에 delay가 null일 때 return 이 실행된다

343

치킨탕육수

작성한 질문수 2

0

안녕하세요 제로초님 강의 정말 잘 듣고 있습니다. 좋은 강의 감사드립니다.
질문이 하나 있어 올리게 되었는데
 
8분 30초 부분에 useInterval 설명하시는 부분에
 
if (delay !== null) {
let id = setInterval(tick, delay);
return () => clearInterval(id);
}
"delay가 null이 되면 return 부분이 실행되서 "라고 하셨는데
이 부분이 delay가 null이 되면 실행되는 게 맞는건가요?
조건문은 null이 아닌 경우인데
null이면 return 부분만 실행되는건지 아니면
let id = setInterval(tick, delay);
이 부분도 함께 동작하는지 여쭤봐도 될까요..

react

답변 1

1

제로초(조현영)

null일 때 왜 저게 실행되냐면요.

일단 조건문 상에서는 null이 아닐 때 실행되는 게 맞고, 예를 들어 딜레이가 500이라고 치면

setInterval 500으로 실행되면서 return쪽 clearInterval 코드도 등록됩니다. 나중에 딜레이가 다른 값으로 바뀌면 clearInterval이 실행되게 되는 겁니다.

500에서 null로 딜레이가 바뀌면 clearInterval이 실행되는 겁니다. 그래서 null이 되면 실행된다고 말씀드린 겁니다.

0

치킨탕육수

아하 "조건문에서 딜레이가 null일 때" 가 아니라
딜레이 500일 때 clearInterval이 등록이 된 상태 ->  "딜레이가 500에서 null로 변경"되면서 return에 있던 , 이미 등록되어 있던 clearInterval(딜레이 500짜리) 실행이 되는걸 말씀해주신거군요?

 

 

 

0

제로초(조현영)

네 맞습니다.

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

0

239

2

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

0

98

2

렌더링 테스트 코드 (Hooks)

0

93

1

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

0

166

1

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

1

209

1

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

0

108

1

useMemo와 useCallback 사용 시기

0

221

2

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

0

237

1

action.type 불러오는 방식

0

226

2

onClickRedo 질문

0

177

1

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

0

261

1

npx webpack 실행시

0

324

1

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

0

243

1

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

0

319

1

react devtool이 enable 않됩니다.

0

548

2

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

0

422

2

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

0

340

1

npm run dev 할 때 에러발생

0

497

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

211

1

devMiddleware의 필요성

0

358

1

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

0

948

2

path.join관련질문

0

288

2

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

0

384

1

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

1

503

4