SMALL
const handleSaveClick = async () => {
setIsModalOpen(true);
reset();
//progressbar 진척도 나타내는 곳
let count = countTime;
refTimer.current = setInterval(() => {
count = count - 1;
percent !== 0 ? setPercent((num) => count) : null;
if (count <= 0) {
clearInterval(refTimer.current);
setPercent(11);
}
}, 1000);
위와 같이 어떤 함수 내에 존재하는 setInterval을 정지시키기 위해서는 useRef를 사용해 직접적으로 DOM을 건드려주면 된다.
외 직접적으로 해야되나? interval을 한번 작동하면 외부의 것을 참조하지도 않고 그 것을 멈춰주는 clear를 또 다른 함수내에 넣어서 사용을 하게 될텐데 그렇다면 clear의 상위에는 setInterval가 존재하지않기에 그렇다.
LIST
'일반' 카테고리의 다른 글
20230313 TODO (0) | 2023.03.13 |
---|---|
하위컴포넌트에서 상위컴포넌트로 state 보내는 법 (0) | 2023.03.03 |
20230221 TODO (0) | 2023.02.21 |
20230220 TODO (0) | 2023.02.20 |
antdesign - datePicker,timePicker invalid data (0) | 2023.02.16 |