자동 슬라이더가 활성화되면 페이지 스크롤이 이동합니다.

내가 만든 자동 슬라이더가 작동하면서 페이지 스크롤이 저절로 움직입니다.

해결 방법을 모르겠습니다.
구글링을 해봐도 진행이 안되어 여기에 질문드립니다.

const delay = 3000;

export default function Banner() {
  const [index, setIndex] = useState(0);
  const timeoutRef = useRef<any>(null);

  const banners = [...];

  const handleIndex = (prop: number) => {
    if (prop <= 0) {
      setIndex(0);

      return;
    }

    if (prop >= banners.length - 1) {
      setIndex(banners.length - 1);

      return;
    }

    setIndex(prop);
  };

  const resetTimeout = () => {
    if (timeoutRef.current) {
      clearTimeout(timeoutRef.current);
    }
  };

  useEffect(() => {
    resetTimeout();

    timeoutRef.current = setTimeout(() => {
      if (index >= banners.length - 1) {
        setIndex(0);

        return;
      }

      setIndex(index + 1);
    }, delay);

    return () => {
      resetTimeout();
    };
  }, [index]);

  return <Template index={index} banners={banners} handleIndex={handleIndex} />;
}

좋은 웹페이지 즐겨찾기