이건 제가 굳이 설명하기보다 좋은 글이 있으니 이를 첨부하도록하겠습니다.
overreacted.io/making-setinterval-declarative-with-react-hooks/
import React, { useState, useEffect, useRef } from 'react';
function useInterval(callback, delay) {
const savedCallback = useRef();
// Remember the latest callback.
useEffect(() => {
savedCallback.current = callback;
}, [callback]);
// Set up the interval.
useEffect(() => {
function tick() {
savedCallback.current();
}
if (delay !== null) {
let id = setInterval(tick, delay);
return () => clearInterval(id);
}
}, [delay]);
}
'React, Next, Redux > 🚀 React with Hooks' 카테고리의 다른 글
custom hook (4) : intersection observer를 활용한 useScrollFadeIn hook (0) | 2021.01.24 |
---|---|
custom hook (3) : scrollIntoView hook (0) | 2021.01.23 |
custom hook (1) : Detect click outside of DOM (0) | 2021.01.21 |
useState의 지연 초기화 (Lazy initial state) (0) | 2020.10.29 |
useLayoutEffect로 동기적으로 화면을 업데이트해보자! (0) | 2020.10.01 |