장바구니에 상품이 없습니다.
home2 › 게시판 › React 게시판 › 타이머 만들기
3초 뒤에 컴포넌트가 닫히는 모달창을 만들고 있습니다.
3초뒤에 모달창이 사라지기는 하지만 (useEffect)
제가 구현하고 싶은것은
저 3이 1초씩 감소하다가 0이 되면 사라지게 하고 싶습니다.
어떻게 해야 효율적으로 만들까요?
setInterval 함수 이용하면 x초마다 코드실행이 가능합니다
x초마다 3이라는 숫자를 -1 하고 0되면 모달창 숨기라고 코드짜면 될듯요
let [num,setNum] = useState(3);
useEffect(()=>{ let 타이머 = setInterval(()=>{ setNum --; }) setTimeout(()=>{props.setModal(false)},3000); })
이런식으로 작성했는데 숫자가 변하지를 않네요..
state변경은 state 변경함수를 사용해야합니다
num이 3이면 모달창닫으라고 if문 써놓으면 타이머는 2개는 필요없을듯요