GDG 프로젝트 트랙 프론트엔드 4주차 미션 회고록

YJ·2025년 6월 3일
1

이번주는 시험 공부로 인하여 미션 진행을 거의 진행하지 못했다..!
그런 의미에서 2-3주차 미션으로 진행했던 클론 코딩을 회고해보려고 함 .. ✏️

 

  • 화살표 > 버튼과 함께 슬라이드 기능 추가

1. 화살표 > 버튼 UI 추가 코드

<button
  className="absolute top-1/2 right-2 -translate-y-1/2 bg-white text-gray-700 shadow-md rounded-full w-10 h-10 flex items-center justify-center hover:bg-gray-100"
>
  <span className="text-2xl"></span>
</button>

 

카드 리스트(div)와 화살표 버튼 >을 같은 relative 안에 넣어주기

 

2. 클릭 시 슬라이드 기능 추가(scrollBy, ref 이용)

  • useRef로 카드 리스트 DOM 제어
    : 파일 상단 아래 코드 추가
import { useRef } from 'react'
  • RecommendSection 함수 안에 아래 코드 넣기
const scrollRef = useRef(null);

const handleScrollRight = () => {
  scrollRef.current.scrollBy({
    left: 300,
    behavior: 'smooth',
  });
};

 

3. 스크롤 대상 div에 ref={scrollRef} 추가

<div
  ref={scrollRef}
  className="flex space-x-4 overflow-x-auto scrollbar-hide pr-14"
>
  {/* 카드들 */}
</div>

(이걸 안 해줘서 첫 시도에 슬라이드가 넘어가지 않는 오류가 발생했다 😅)

 

아래는 결과물 👇👇


슬라이드까지 구현 완!

이번 주차는 기말고사로 인해 4주차 미션을 진행하지 못했지만 꼭 종강 후에 시도해보아야겠다는 다짐을 💪💪 !!

 

3개의 댓글

comment-user-thumbnail
2025년 6월 18일

useRef까지 써가면서 기능을 구현하시다니 대단해요..! 클론코딩의 퀄리티가 높아보여서 나중에 코드 리뷰할때 세세하게 보고 남겨놓겟습니당 미션코스 하시느라 수고 많으셨습니다!!

답글 달기
comment-user-thumbnail
2025년 6월 22일

우와 너무 잘 만들어서 순간 광고인줄 알았지 모에요 🤭
useRef 라는 훅이 정말 헷갈리는데 이번 기회에 잘 이해해보시면 너무 좋을 것 같아요! 저도 나중에 슬라이딩 기능 한번 구현해보고 싶네요 ~!

답글 달기
comment-user-thumbnail
2025년 7월 4일

멋진... 작업...

답글 달기