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

๐Ÿงฉ SideNavigation

  • ์‚ฌ์ด๋“œ ๋ฉ”๋‰ด ์—ญํ• ์„ ํ•˜๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€์™€ ์ด๋ฆ„(์„ ํƒ), ์ฃผ์š” ๋ฉ”๋‰ด ํ•ญ๋ชฉ๋“ค(๋‚ด ์ •๋ณด, ์˜ˆ์•ฝ๋‚ด์—ญ ๋“ฑ)์„ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๋ฉ”๋‰ด๋Š” ํ˜„์žฌ ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ํ™œ์„ฑํ™” ์ƒํƒœ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ, ํด๋ฆญ ์‹œ ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

โœ… Props

์ด๋ฆ„ ํƒ€์ž… ํ•„ ์ˆ˜ ์„ค๋ช…
defaultImage string โœ… ์‚ฌ์šฉ์ž ๊ธฐ๋ณธ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ URL
onImageUpload (file: File) => void โŒ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜. ์„œ๋ฒ„ ์š”์ฒญ์€ ์ƒ์œ„์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ

โš™๏ธ ๋™์ž‘ ๋ฐฉ์‹

  • ๋‚ด๋ถ€์ ์œผ๋กœ ProfileImageUploader์™€ SideNavItem ๋‘ ํŒŒํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ProfileImageUploader๋Š” ์ด๋ฏธ์ง€ ์„ ํƒ ํ›„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ, onImageUpload๋ฅผ ํ†ตํ•ด ์ƒ์œ„๋กœ ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋‰ด ํ•ญ๋ชฉ์€ ๋‚ด๋ถ€์—์„œ ๊ณ ์ • ๋ฐฐ์—ด(navItems)์„ ๋ฐ”ํƒ•์œผ๋กœ map ๋ Œ๋”๋ง๋˜๋ฉฐ, ํ˜„์žฌ ๊ฒฝ๋กœ(location.pathname)์— ๋”ฐ๋ผ active ์Šคํƒ€์ผ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๋ฉ”๋‰ด๋Š” react-router-dom์˜ ๋ฅผ ์‚ฌ์šฉํ•ด ํŽ˜์ด์ง€ ์ด๋™์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–ฅ๏ธ ์‚ฌ์šฉ์˜ˆ์‹œ

๋ชจ๋ฐ”์ผ ๊ธฐ์ค€

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-06-03 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 1 18 53

ํƒœ๋ธ”๋ฆฟ ๊ธฐ์ค€

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-06-03 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 1 19 09

ํ”ผ์‹œ ๊ธฐ์ค€

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-06-03 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 1 19 20

์ž‘๋™ ํ๋ฆ„

SideNavigation.mov
2025-06-03.1.47.28.mov
<SideNavigation
  defaultImage={user.profileImageUrl}
  onImageUpload={(file) => {
    // 1. ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ โ†’ imageUrl ๋ฐ˜ํ™˜
    // 2. PATCH /users/me๋กœ imageUrl ์ „๋‹ฌ
  }}
/>
โš ๏ธ **GitHub.com Fallback** โš ๏ธ