1. Tab 자동 활성화 및 스크롤 최적화 기여 내용


2. 기존 문제점과 개선 사항

2-1. 스크롤 위치에 따라 자동으로 Tab 활성화

🛑 기존 문제점

Jan-07-2025 16-16-29.gif

개선 방법

최적화된 코드

const handleScroll = useCallback(() => {
  const scrollPosition = window.pageYOffset;
  const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
  const offset = rootFontSize * 5.5;

  Object.entries(sectionRefs.current).forEach(([key, ref]) => {
    if (ref) {
      const sectionTop = ref.offsetTop - offset;
      const sectionBottom = sectionTop + ref.offsetHeight;

      // ✅ 특정 섹션 내에 있을 때만 실행
      if (scrollPosition >= sectionTop && scrollPosition < sectionBottom) {
        setActiveSection((prev) => (prev !== key ? key : prev));
      }
    }
  });
}, []);

// ✅ scroll 이벤트 등록 (최적화)
useEffect(() => {
 const onScroll = () => {
      handleScroll()
    };
 window.addEventListener("scroll", onScroll);
 return () => {
      window.removeEventListener("scroll", onScroll);
 };
}, [handleScroll]);

결과

jj.gif