Hello Kitty Eyes Shut
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป๊ณต๋ถ€ ๊ธฐ๋ก/๐Ÿ“Œ Frontend

[Frontend] ์ปดํฌ๋„ŒํŠธ๋ž€

๋ฐ˜์‘ํ˜•

 

 

 

 

 

๐ŸŽฏ ์ปดํฌ๋„ŒํŠธ (Component)

์ปดํฌ๋„ŒํŠธ๋ž€ ๋ฌด์—‡์ธ์ง€๋ฅผ ํ•œ ์ค„๋กœ ์ •๋ฆฌํ•˜๋ฉด,

UI (User Interface)๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์กฐ๊ฐ์ด๋‹ค.

 


๐Ÿ“ฆ ๋น„์œ ํ•˜์ž๋ฉด: ์ปดํฌ๋„ŒํŠธ = ๋ ˆ๊ณ  ๋ธ”๋ก ๐Ÿงฑ

UI๋ฅผ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์€,

๋งˆ์น˜ ๋ ˆ๊ณ ๋กœ ์ง‘์„ ์ง“๋Š” ๊ฒƒ๊ณผ ๋˜‘๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

๐Ÿ”˜ ๋ฒ„ํŠผ ํ•˜๋‚˜ ๐Ÿ‘‰๐Ÿป ๋ ˆ๊ณ  ๋ธ”๋ก ํ•˜๋‚˜

๐Ÿ“ ์ž…๋ ฅ์ฐฝ ํ•˜๋‚˜  ๐Ÿ‘‰๐Ÿป ๋˜ ๋‹ค๋ฅธ ๋ ˆ๊ณ  ๋ธ”๋ก

๐Ÿงพ ์นด๋“œ ์ „์ฒด  ๐Ÿ‘‰๐Ÿป ์—ฌ๋Ÿฌ ๋ธ”๋ก์„ ์กฐํ•ฉํ•œ ๋ฌถ์Œ

๐Ÿ  ํŽ˜์ด์ง€ ์ „์ฒด  ๐Ÿ‘‰๐Ÿป ์ž‘์€ ๋ธ”๋ก๋“ค๋กœ ์กฐ๋ฆฝ๋œ ์™„์„ฑํ’ˆ

 

์ฆ‰, ๋ณต์žกํ•œ UI๋ฅผ ์ž‘๊ณ  ๋…๋ฆฝ์ ์ธ ๋ธ”๋ก์œผ๋กœ ์ชผ๊ฐœ์„œ

ํ•„์š”ํ•œ ์œ„์น˜์— ๊ฐ€์ ธ๋‹ค ๋ถ™์ด๋Š” ๊ฒƒ์ด๋‹ค.

 


๐Ÿง  ์™œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ค‘์š”ํ• ๊นŒ

1๏ธโƒฃ ์žฌ์‚ฌ์šฉ์„ฑ โ™ป๏ธ

๊ฐ™์€ ๋ฒ„ํŠผ, ๊ฐ™์€ ์นด๋“œ, ๊ฐ™์€ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋“ฑ์„

์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ๋งŒ๋“ค๋ฉด ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์—

์ปดํฌ๋„ŒํŠธ๋กœ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด๋‘๊ณ ,

ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋ถˆ๋Ÿฌ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ด๋‹ค.

 

<Button label="๋กœ๊ทธ์ธ" />
<Button label="ํšŒ์›๊ฐ€์ž…" />

 

2๏ธโƒฃ ์œ ์ง€๋ณด์ˆ˜ ๐Ÿงผ

๋ฒ„ํŠผ ์Šคํƒ€์ผ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค๋ฉด,

๋ชจ๋“  ๋ฒ„ํŠผ์„ ์ฐพ์•„์„œ ๋ฐ”๊ฟ€ ํ•„์š” ์—†์ด

์ปดํฌ๋„ŒํŠธ ํ•˜๋‚˜๋งŒ ๊ณ ์น˜๋ฉด ๋์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ํŽธ๋ฆฌํ•˜๋‹ค.

 

3๏ธโƒฃ ๋ถ„๋ฆฌ์™€ ๊ด€๋ฆฌ ๐Ÿ—‚

์ฝ”๋“œ๋ฅผ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๋ฉด ์ฝ๊ธฐ ์‰ฝ๊ณ , ๊ด€๋ฆฌ๋„ ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์—

๊ฐ๊ฐ์˜ UI ์กฐ๊ฐ์„ ๋‹ด๋‹นํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ๋กœ ์ชผ๊ฐœ์„œ ์œ ์ง€ํ•˜๋ฉด ์ข‹๋‹ค.

 

/components
  โ””โ”€โ”€ Button.tsx
  โ””โ”€โ”€ Card.tsx
  โ””โ”€โ”€ Navbar.tsx

 


๐Ÿงฉ ์ปดํฌ๋„ŒํŠธ์˜ ์ข…๋ฅ˜

์œ ํ˜• ์„ค๋ช… ์˜ˆ์‹œ
๐ŸŽจ ํ”„๋ ˆ์  ํ…Œ์ด์…”๋„ ์ปดํฌ๋„ŒํŠธ UI ํ‘œํ˜„๋งŒ ๋‹ด๋‹น ๋ฒ„ํŠผ, ์นด๋“œ ๋“ฑ
๐Ÿง  ์ปจํ…Œ์ด๋„ˆ ์ปดํฌ๋„ŒํŠธ ๋กœ์ง ์ฒ˜๋ฆฌ ์ค‘์‹ฌ ๋กœ๊ทธ์ธ ์ƒํƒœ, ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋“ฑ
๐Ÿ—บ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ์ „์ฒด ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ํฐ ๋‹จ์œ„ /Home, /Login ๋“ฑ
๐Ÿ” ์žฌ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ ํ”„๋กœ์ ํŠธ ์–ด๋””์„œ๋“  ์“ฐ๋Š” ๋ฒ”์šฉ ๊ธฐ๋Šฅ Modal, Dropdown, Input

 


โ— ์ฃผ์˜์‚ฌํ•ญ

์ปดํฌ๋„ŒํŠธํ™”๋ฅผ ๋„ˆ๋ฌด ์ง‘์ฐฉํ•˜๋ฉด,

๋ฒ„ํŠผ ์•ˆ์˜ <svg> ๊นŒ์ง€ ์ปดํฌ๋„ŒํŠธ๋กœ ์ชผ๊ฐœ๊ณ  ..

๊ทธ ์•ˆ์˜ <path>๋„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค๊ณ  ..

์ด๋ ‡๊ฒŒ ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง๋  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

"์ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌ์‚ฌ์šฉ๋ ๊นŒ?",

"์ด๊ฑธ ๋”ฐ๋กœ ๋‘๋Š” ๊ฒŒ ์ฝ”๋“œ๊ฐ€ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ๋ ค๋‚˜?"๋ฅผ

๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•ด์„œ ๋‚˜๋ˆ„์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•