반응형
✔️ 필요성
setInterval을 통해서 주기적으로 state값을 변경시키고 싶다
✔️ 문제 해결
useEffect의 [] argument안에 state값을 추가해야 한다!
const [monthIdx, setMonthIdx] = useState<number>(2);
/* 0부터 2까지 숫자를 계속 돌아가게 만듦 */
const monthCarousel = (monthIdx: number) => {
var len = 3;
if (monthIdx === len - 1) return 0;
else return monthIdx + 1;
}
/* 3초에 한번씩 내용 바뀜 */
useEffect(() => {
const interval = setInterval(()=>{
setMonthIdx(monthCarousel(monthIdx));
}, 3000);
return () => clearInterval(interval);
}, [monthIdx])
반응형
'프론트엔드 웹 > React' 카테고리의 다른 글
Error: Cannot find module '../build/Release/canvas.node' (0) | 2023.12.26 |
---|---|
tmap에서 marker에 최적화하여 map의 bound 설정하는 hook 만들기 (0) | 2023.06.30 |
gsap에서 배경 sticky하게 하고 애니메이션 적용 (+) multiple element에 동시에 애니메이션 효과 적용 (1) | 2023.06.15 |
마우스휠 사용하는 Swiper에서 특정 SwiperSlide에서는 마우스휠 멈추기 (0) | 2023.06.14 |
addEventLister scroll / wheel (0) | 2023.06.14 |