MyExperienceCard - FE14-Part4-Team5/reser-on-do GitHub Wiki

🧩 MyExperienceCard

  • β€œλ‚΄ μ²΄ν—˜β€ νŽ˜μ΄μ§€μ—μ„œ μ‚¬μš©μžμ˜ μ˜ˆμ•½ λ˜λŠ” μ™„λ£Œλœ μ²΄ν—˜ 정보λ₯Ό μΉ΄λ“œ ν˜•νƒœλ‘œ λ³΄μ—¬μ£ΌλŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€.
  • μ²΄ν—˜ 제λͺ©, 평점, 리뷰 수, 가격 정보λ₯Ό ν‘œμ‹œν•˜λ©°, β€˜μˆ˜μ •ν•˜κΈ°β€™, β€˜μ‚­μ œν•˜κΈ°β€™ λ²„νŠΌμ΄ ν•¨κ»˜ μ œκ³΅λ©λ‹ˆλ‹€.
  • λ²„νŠΌ 클릭 μ‹œ 각각 μˆ˜μ • νŽ˜μ΄μ§€ 이동, μ‚­μ œ λͺ¨λ‹¬ 호좜과 같은 λ™μž‘μ„ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

βœ… Props

이름 νƒ€μž… ν•„μˆ˜ μ„€λͺ…
bannerImageUrl string βœ… μΉ΄λ“œ 였λ₯Έμͺ½μ— ν‘œμ‹œλ  μ²΄ν—˜ 이미지 URL
title string βœ… μ²΄ν—˜ 제λͺ©
rating number βœ… μ²΄ν—˜ 평점 (μ†Œμˆ˜μ  첫째 μžλ¦¬κΉŒμ§€ ν‘œμ‹œλ¨)
reviewCount number βœ… ν›„κΈ° 개수
currencySymbol string βœ… 톡화 기호 (예: β‚©)
price number βœ… μ²΄ν—˜ 가격
priceUnit string βœ… 가격 λ‹¨μœ„ (예: /인, /병 λ“±)
editButton React.ReactNode βœ… μˆ˜μ • λ²„νŠΌμœΌλ‘œ μ‚¬μš©ν•  μš”μ†Œ (μ»΄ν¬λ„ŒνŠΈ μ‚¬μš©)
deleteButton React.ReactNode βœ… μ‚­μ œ λ²„νŠΌμœΌλ‘œ μ‚¬μš©ν•  μš”μ†Œ (μ»΄ν¬λ„ŒνŠΈ μ‚¬μš©)

βš™οΈ λ™μž‘ 방식

  • μΉ΄λ“œ λ‚΄λΆ€μ—μ„œλŠ” λ²„νŠΌ UI만 λ Œλ”λ§ν•˜λ©°, μ‹€μ œ λ™μž‘μ€ λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈμ—μ„œ 전달받은 λ²„νŠΌμ— onClick 이벀트λ₯Ό 톡해 μ²˜λ¦¬λ©λ‹ˆλ‹€.
  • 예λ₯Ό λ“€μ–΄ editButton에 onClick={() => navigate('/edit')}을 μ£Όμž…ν•˜λ©΄ μˆ˜μ • νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • priceλŠ” toLocaleString()을 ν™œμš©ν•΄ 1000 λ‹¨μœ„λ§ˆλ‹€ 콀마(,)둜 κ΅¬λΆ„ν•˜μ—¬ 좜λ ₯λ©λ‹ˆλ‹€. (예: β‚©35,000 /인)
  • alt 속성은 접근성을 κ³ λ €ν•˜μ—¬ "μ²΄ν—˜ λ°°λ„ˆ - [제λͺ©]" ν˜•μ‹μœΌλ‘œ μ„€μ •λ©λ‹ˆλ‹€.

πŸ–₯️ μ‚¬μš©μ˜ˆμ‹œ

λͺ¨λ°”일 κΈ°μ€€ μΉ΄λ“œ

스크란샷 2025-06-01 α„‹α…©α„Œα…₯ᆫ 1 42 52

νƒœλΈ”λ¦Ώ κΈ°μ€€ μΉ΄λ“œ

스크란샷 2025-06-01 α„‹α…©α„Œα…₯ᆫ 1 42 32

ν”Όμ‹œ κΈ°μ€€ μΉ΄λ“œ

스크란샷 2025-06-01 α„‹α…©α„Œα…₯ᆫ 1 42 16
<MyExperienceCard
  bannerImageUrl={mockActivity.bannerImageUrl}
  title={mockActivity.title}
  rating={mockActivity.rating}
  reviewCount={mockActivity.reviewCount}
  currencySymbol={'β‚©'}
  price={mockActivity.price}
  priceUnit={'/인'}
  editButton={
    <Button onClick={handleEdit} color="#ffffff">
      μˆ˜μ •ν•˜κΈ°
    </Button>
  }
  deleteButton={
    <Button onClick={handleDelete} color="#EDEEF2">
      μ‚­μ œν•˜κΈ°
    </Button>
  }
/>

* λ²„νŠΌ μ»΄ν¬λ„ŒνŠΈλŠ” μž„μ˜λ‘œ μž‘μ„±ν•œκ²ƒμž…λ‹ˆλ‹€~
⚠️ **GitHub.com Fallback** ⚠️