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

+ Recent posts