๐Ÿฌ ๊ธดํ˜ธํก/GDSC

[๋ฐ๋ธŒํ†ก] ๋””์ž์ธ์‹œ์Šคํ…œ๊ณผ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ (22.12.01)

ํ•œ๊ทœ์ง„ 2022. 12. 14. 14:37

 

์•ˆ๋…•ํ•˜์„ธ์š”, ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”์–ด๋ฉค๋ฒ„ ํ•œ๊ทœ์ง„์ž…๋‹ˆ๋‹ค. ๋ฒŒ์จ ๋ฐ๋ธŒํ†ก์ด 5ํšŒ์ฐจ๊นŒ์ง€ ์˜ค๋ฉด์„œ ์–‘์งˆ์˜ ๋งŽ์€ ์„ธ๋ฏธ๋‚˜๋ฅผ ๋“ค์—ˆ๋Š”๋ฐ, ๊ทธ์ค‘์— ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค๋Š”๊ฒŒ ์กฐ๊ธˆ ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ๋ฐœํ‘œ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ๋„ “๊ฐœ๋ฐœ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋Š” ํ•ด๋‹น ํŒŒํŠธ๊ฐ€ ์•„๋‹Œ ๋ถ„๋“ค์ด ๋“ฃ๊ธฐ์—” ์ง€๋ฃจํ•  ์ˆ˜ ๋„ ์žˆ๊ฒ ๋‹ค” ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๊ฑฐ๋“ ์š”.

 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๋ฐœํ‘œ์—๋Š” ํ”„๋ก ํŠธ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ์–ด๋–ค๊ฑธ ๊ณ ๋ฏผํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š”์ง€, ์ตœ๋Œ€ํ•œ ๋ผ์ดํŠธํ•˜๊ณ  ์žฌ๋ฐŒ๊ฒŒ ์ „๋‹ฌํ•ด๋“œ๋ฆฌ๊ณ ์ž ์ค€๋น„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 


 

(1) ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ๊ฐ„๋‹จํ•œ ํ€ด์ฆˆ๊ฐ™์€๊ฑธ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–‘์ชฝ ๋‘ UI ์ค‘์—์„œ ์–ด๋–ค๊ฒŒ ๋” ์ •๋‹ต์ผ๊นŒ์š”? 

 

(2) ์ด๋ฒˆ์—” ์กฐ๊ธˆ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ UI์— ์žˆ๋Š” ๊ตฌ๋ถ„์„ ์ด ์™ผ์ชฝ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋‘๊ป์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํ™•์‹คํ•˜๊ฒŒ ์ •๋‹ต์ด ์žˆ๋Š” ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ, UI๋ฅผ ๋””์ž์ธํ•˜๊ณ  ๊ตฌํ˜„ํ• ๋• ์ด๋ ‡๊ฒŒ ์‚ฌ์†Œํ•œ๊ฒƒ๋“ค์ด ๊ฝค๋‚˜ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์™ผ์ชฝ์ฒ˜๋Ÿผ ๋””์ž์ธํ•ด๋†“๊ณ  ์˜†์„ ๋ดค๋Š”๋ฐ, ๋‹ค๋ฅธ ๋””์ž์ด๋„ˆ๊ฐ€ ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ ๋งŒ๋“ค๊ณ ์žˆ๋‹ค๋ฉด ์ข€ ๋‹ต๋‹ตํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๋ฉด์„œ ์ „์ฒด์ ์ธ ์™„์„ฑ๋„๋„ ๊ตฌ๋ฆฌ๊ฒŒ ๋ณด์ผ๊ฑฐ์—์š”. ๋””์ž์ด๋„ˆ๋“ค์ด ์ž‘์—…ํ•˜๋ฉด์„œ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ๋Š” ์ผ์ข…์˜ ‘๊ฐ€์ด๋“œ'๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์ฃ .

 

๊ทธ๋Ÿผ ์ €ํฌ ๊ฐœ๋ฐœ์ž์ž…์žฅ์—์„œ๋Š” ์–ด๋–จ๊นŒ์š”?

 

(3) ๊ณ ์Šค๋ฝ ์ฒซ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ• ๋•Œ ์ œ๊ฐ€ ๋ฉ‹๋ชจ๋ฅด๊ณ  ๋””์ž์ธํ–ˆ๋˜ UI๋“ค์ž…๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€๋“ค์€ ๋ชจ๋‘ ๋น„์Šทํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๋ชฉ, ์ธํ’‹์ฐฝ, ๋ฒ„ํŠผ ๊ฐ™์€ ์š”์†Œ๋“ค์€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์„ ํ˜ผ์žํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†์ฃ . ๊ทธ๋ ‡๋‹ค๋ฉด ์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ„์–ด์•ผํ• ๊นŒ์š”??

 

์ด๋Ÿด ๋•Œ ‘๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค๊ณ  ์žฌ์‚ฌ์šฉํ•˜์ž’ ๋ผ๋Š” ๊ธฐ๋˜ฅ์ฐฌ ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„์ฃผ ์ข‹์•„์š”. ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ์ปค์ง€๊ฒŒ ๋˜๋ฉด ๋ˆ„๊ฐ€ ์–ธ์ œ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์—ฌ๊ธฐ์ €๊ธฐ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ “์ด๋Ÿด๋ฐ”์—” ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ƒˆ๋กœ ์งœ์•ผ์ง€..” ํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊น๋‹ˆ๋‹ค.

 

์—ญ์‹œ ๋””์ž์ธ ์ผ๊ด€์„ฑ์ด ๋‚ฎ์•„์ง€๊ณ , ์ค‘๋ณต์ฝ”๋“œ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋˜๋Š”๊ฒ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์šด UI ์ฝ”๋“œ๊ฐ€ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

 

(4) ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ ๋ฑ…ํ‚ค์ฆˆ์—์„œ ๋ฒ„ํŠผ์ด ์‚ฌ์šฉ๋˜๋Š” ํŽ˜์ด์ง€ ๋ช‡๊ฐœ๋ฅผ ๊ฐ€์ ธ์™€๋ดค์Šต๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์ด ๋‹ค๋ฅธ ๋ชจ์Šต์œผ๋กœ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋ฒˆ ๋ฒ„ํŠผ ์š”์†Œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฑด ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ธ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

 


 

(5) ์ด๋ฅผ ์œ„ํ•ด ‘๋””์ž์ธ ์‹œ์Šคํ…œ' ์ด๋ผ๋Š” ๊ฒƒ์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.

 

Single Source Of Truth ๋ผ๋Š” ๋ง์„ ๋“ค์–ด๋ณด์‹ ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ €๋„ ๋ฐœํ‘œ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ์ฒ˜์Œ ์•Œ๊ฒŒ ๋œ ๊ฐœ๋…์ธ๋ฐ์š”, ๋ณดํ†ต ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ์ด๋‚˜ ๋ฆฌ๋•์Šค ์ƒํƒœ๊ด€๋ฆฌ ์‹œ์— ๋‚˜์˜ค๋Š” ๊ฐœ๋…์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. '๋ฐ์ดํ„ฐ์˜ ์‚ฌ๋ณธ์ด ์กด์žฌํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์—†์• ์ž'๋Š” ๋ง์„ ๋ฉ‹์žˆ๊ฒŒ ์“ด๊ฒ๋‹ˆ๋‹ค.

 

์•„๊นŒ ๋ดค๋˜ ๋ฑ…ํ‚ค์ฆˆ์˜ ์—ฌ๋Ÿฌ ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ชจ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋œ ๋ฒ„ํŠผ์—” ๋ฉ”์ธ์ƒ‰์ƒ์ด ๋“ค์–ด๊ฐ€๊ณ , ๋น„ํ™œ์„ฑํ™” ๋ฒ„ํŠผ์€ ํšŒ์ƒ‰์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์€ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉ๋ ์ˆ˜๋„ ์žˆ๊ณ  ๋‘ ๋ฒ„ํŠผ์ด ์–‘์ชฝ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ‰์ด ์ฑ„์›Œ์ ธ ์žˆ์„ ์ˆ˜๋„, ํ…Œ๋‘๋ฆฌ๋งŒ ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ ์š”. ์–ด๋–ค ๊ฒฝ์šฐ์—” ๋…ธ๋ž€์ƒ‰์ด ์•„๋‹Œ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ฑ„์›Œ์ ธ ์žˆ๊ธฐ๋„ ํ•˜๋„ค์š”.

 

์ œ๊ฐ€ ๋ฐฉ๊ธˆ ๋ง์”€๋“œ๋ฆฐ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•ด ๊ทœ๊ฒฉํ™”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ ๋””์ž์ธ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

 

(6) ๋””์ž์ธ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์„ธ๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋จผ์ € ๋น„์ฃผ์–ผ ์–ธ์–ด๋ž€, UI๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค์— ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ƒ‰์ƒ๋“ค์„ ์ด๋ ‡๊ฒŒ ๊ทœ๊ฒฉํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธ ์ƒ‰์ƒ์€ Yellow100, 200, 300 ๋“ฑ์œผ๋กœ ๋ผ๋ฒจ๋ง์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋งŽ์€ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋…ธํ†ค ์ƒ‰์ƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

 

ํƒ€์ดํฌ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๊ธ€๊ผด, ํฌ๊ธฐ, ๋‘๊ป˜, ์ž๊ฐ„ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์— ๋”ฐ๋ผ ๊ทœ๊ฒฉํ™”ํ•˜๊ณ  ์ด๋ฆ„์„ ๋ถ™์ž…๋‹ˆ๋‹ค. ๊ทธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ๋ฆฌ๋“œ, ๊ฐ„๊ฒฉ, ๋ณด๋” ๋ ˆ๋””์šฐ์Šค ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ ๋ชจ๋‘ ํ† ํฐํ™”ํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

(7) ์•ž์—์„œ ํ† ํฐํ™”ํ•œ ๋น„์ฃผ์–ผ ์–ธ์–ด๋“ค์„ ๊ฐ€์ง€๊ณ  ์กฐํ•ฉํ•ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ์š”์†Œ์˜ ์ƒ๊น€์ƒˆ๋‚˜ ๋™์ž‘์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค์‹์œผ๋กœ ๊ตฌํ˜„๋˜๋Š”์ง€๋Š” ์ด๋”ฐ๊ฐ€ ๋‹ค์‹œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

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

 

์Šฌ๋ผ์ด๋“œ์— ์žˆ๋Š” ๊ทธ๋ฆผ์€ ์ธํ’‹์ฐฝ ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. focus๋˜์–ด์žˆ์„๋•Œ๋Š” ์ง„ํ•œ ๋…ธ๋ž€์ƒ‰์„, blur์ผ๋•Œ๋Š” ํ๋ฆฌ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ๋Š” ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๊ฒฝ๊ณ ๋ฅผ ๋„์šฐ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์•ก์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฒ„ํŠผ์€ ๋นจ๊ฐ„์ƒ‰์„, ๊ทธ ์™ธ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„œ๋น„์Šค์˜ ๋ฉ”์ธ ์ปฌ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 


 

(9) ์ด์ œ ์ด๋ ‡๊ฒŒ ๊ฐœ๋…์ ์œผ๋กœ ์‚ดํŽด๋ณธ ๋””์ž์ธ์‹œ์Šคํ…œ์„ ์ง์ ‘ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด๋ด์•ผ๊ฒ ์ฃ ? ๋””์ž์ธ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋น„์ฃผ์–ผ ์–ธ์–ด๋“ค๋กœ ์‹œ์ž‘ํ•ด๋ณผ๊ฒ๋‹ˆ๋‹ค. ๋น„์ฃผ์–ผ ์–ธ์–ด๋ž€ UI์— ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ ํ† ํฐํ™”ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์— ๋ณด์ด๋Š”๊ฑด ์•„๊นŒ ๋ณด์—ฌ๋“œ๋ ธ๋˜ ์ƒ‰์ƒ ํŒ”๋ ˆํŠธ์ธ๋ฐ์š”, ํ”ผ๊ทธ๋งˆ๋‹จ์—์„œ ๋จผ์ € yellow100,200 ๊ณผ ๊ฐ™์€ ๋ผ๋ฒจ๋ง์„ ํ•˜๋ฉด์„œ ์Šคํƒ€์ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ธํŒ…ํ•œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

 

์ด๋ฅผ ํ”„๋ก ํŠธ์—”๋“œ, ๋ฆฌ์•กํŠธ ๋‹จ์—๋„ ๊ทธ๋Œ€๋กœ ๋Œ๊ณ  ์˜ค๊ธฐ ์œ„ํ•ด์„œ ‘styled-components’๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. css๋ฅผ js ๊ตฌ๋ฌธ ์•ˆ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” npm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ ‘Theme provider’๋ผ๋Š” ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ• ๊ฒ๋‹ˆ๋‹ค. ์˜คํ”ˆ ์„ธ๋ฏธ๋‚˜์ธ ๋งŒํผ ์ฝ”๋“œ๋ฅผ ๊นŠ์ด ์„ค๋ช…๋“œ๋ฆฌ์ง„ ์•Š๊ฒ ์ง€๋งŒ ๋Œ€์ถฉ ๋ด๋„ ์•„์‹ค๊ฒ๋‹ˆ๋‹ค. #FFF6D2์™€ ๊ฐ™์€ ์ƒ‰์ƒ ์ฝ”๋“œ๋“ค์„ yellow100 ๋“ฑ์„ key๋กœ ํ•˜๋Š” ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด๋†“๊ณ , ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ํ”„๋กœ์ ํŠธ ์ปดํฌ๋„ŒํŠธ ์ „์ฒด์— ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ธํŒ…ํ•ด๋‘ก๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ css ๊ตฌ๋ฌธ ๋‚ด์—์„œ ๋ถˆ๋Ÿฌ์™€ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์™ผ์ชฝ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ž๋™์™„์„ฑ์œผ๋กœ ๋ฐ”๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

(10) ํƒ€์ดํฌ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ธ๋ฐ์š”, ์—ญ์‹œ ํ”ผ๊ทธ๋งˆ๋‹จ์—์„œ๋ถ€ํ„ฐ ์ •๋ฆฌ๋œ ์Šคํƒ€์ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์„ธํŒ…์ด ๋˜์–ด์žˆ๋Š” ์ƒํƒœ ์ž…๋‹ˆ๋‹ค. ์ƒ‰์ƒ๊ณผ ๋‹ฌ๋ฆฌ font family, size, lign height ๋“ฑ ์—ฌ๋Ÿฌ ์Šคํƒ€์ผ์ด ๊ฐ™์ด ์ ์šฉ๋œ ํƒ€์ดํฌ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ฌธ์ž์—ด์„ ํ†ต์งธ๋กœ ํ† ํฐํ™”ํ•ด๋†“๊ณ  ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ ์• ๋‹ˆ๋ฉ”์ด์…˜, ๋ณด๋” ๋ ˆ๋””์šฐ์Šค, ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋“ฑ ๋งค์šฐ ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ theme provider ๋‚ด์—์„œ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ž ์ด๋ ‡๊ฒŒ ๋น„์ฃผ์–ผ ์š”์†Œ๋“ค์„ ๋จผ์ € ์ฝ”๋“œ๋กœ ๋Œ๊ณ  ์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ ๋ฌด์–ผ ํ•ด์•ผํ• ๊นŒ์š”?

 

(11) ๊ทธ ๋น„์ฃผ์–ผ ์š”์†Œ๋“ค์„ ์กฐํ•ฉํ•ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ๊ฒ ์ฃ . ๊ณ„์† ์˜ˆ์‹œ๋กœ ๋“ค๊ณ  ์žˆ๋Š” ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. property, label, state, fixed ๋ฅผ props๋กœ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ props๋ž€ ๋ถ€๋ชจ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ์ธ์ž์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. properties๋Š” ์–ด๋– ํ•œ ๋•Œ์— ์“ฐ์ด๋Š” ๋ฒ„ํŠผ์ธ์ง€ ์ •๋ณด๋ฅผ, state๋Š” ๋ฒ„ํŠผ์˜ ํ™œ์„ฑํ™” ์œ ๋ฌด, label์€ ๋ฒ„ํŠผ์— ์ ํžŒ ๊ธ€์”จ, fixed๋Š” ๋„ˆ๋น„๊ฐ€ ๊ณ ์ •๋œ ๋ฒ„ํŠผ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„ค๊ฐ€์ง€ ์ธ์ž๋“ค์„ ๋„˜๊ฒจ๋ฐ›์•„์„œ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์Šคํƒ€์ผ๋ง์„ ์ฃผ๋ฉด, ์ด ์ปดํฌ๋„ŒํŠธ ํ•˜๋‚˜๋กœ ์„œ๋น„์Šค ๋‚ด์˜ ์—ฌ๋Ÿฌ ๋ฒ„ํŠผ UI์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ .

 

์ด๋ ‡๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋งŒ ๋‘๋ฉด ๋์ผ๊นŒ์š”? ๊ฐœ๋ฐœ์€ ํ˜ผ์žํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ์ฃ . ๋™๋ฃŒ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€๋„ ๋””์ž์ด๋„ˆ์™€๋„ ๊ณ„์† ์†Œํ†ต์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ง์”€๋“œ๋ ธ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ ์ฝ”๋“œ๋ฅผ ์—ฌ๊ธฐ์ €๊ธฐ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ “์ด๋Ÿด๋ฐ”์—” ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ƒˆ๋กœ ์งœ์•ผ์ง€..” ํ•˜๋Š” ์ผ์ด ์ƒ๊ธฐ๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒ๋‹ˆ๋‹ค.

 

์ด๋ฅผ ์œ„ํ•ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋งŒ๋“  ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ฌธ์„œํ™”ํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด๋“ค๊ณผ UI๋“ค์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Storybook ์ด๋ผ๋Š” ๋˜๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ๋ฑ…ํ‚ค์ฆˆ์˜ ๋””์ž์ธ ์‹œ์Šคํ…œ ์Šคํ† ๋ฆฌ๋ถ์ธ๋ฐ, ๋จผ์ € ๋“ค์–ด๊ฐ€์„œ ํ•œ๋ฒˆ ๋‘˜๋Ÿฌ๋ณผ๊ฒŒ์š”.

 


 

(12) ์ด๋ ‡๊ฒŒ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ์•„๊นŒ ๋ณด์•˜๋˜ ํ”„๋กœ๊ทธ๋ ˆ์Šค๋ฐ”๊ฐ€ ์“ฐ์ด๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

๋ˆ๊ธธ ๊ณ„์•ฝํ•˜๊ธฐ ๊ณผ์ •์€ ์ด ๋‹ค์„ฏ๊ฐœ์˜ ์Šคํ…์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ์š”, ํ•ด๋‹น ์Šคํ…๋งŒํผ ์ฑ„์›Œ์ง„ ์›์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํŠน์„ฑ์ƒ ์ฒซ๋ฒˆ์งธ ์Šคํ…์ด ์ƒ๋žต๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ, ์ด๋Ÿด ๋•Œ๋Š” ์ด ๋„ค๊ฐœ์˜ ์Šคํ…์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿด๋• ๋™๊ทธ๋ผ๋ฏธ๊ฐ€ 4๊ฐœ๋กœ๋งŒ ๋˜๊ฒ ์ฃ ?

 

๊ทธ๋ž˜์„œ ์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค. ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์Šคํ…๊ณผ, ์ฒซ๋ฒˆ์งธ ์Šคํ… ์ƒ๋žต ์—ฌ๋ถ€๋ฅผ ์ธ์ž๋กœ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค. ์ด 4๊ฐœ์˜ circle์„ ๋ Œ๋”๋งํ•ด์ฃผ๋Š”๋ฐ, skip์–ด์ฉŒ๊ตฌ ์ธ์ž๊ฐ€ false์ผ๋•Œ๋Š” circleํ•˜๋‚˜๋ฅผ ๋” ๋ณด์—ฌ์ค˜์„œ ์ด 5๊ฐœ์˜ ๋™๊ทธ๋ผ๋ฏธ๋ฅผ ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜๋Š”๊ฑฐ์ฃ .

 

(13) ๊ทธ๋Ÿฌ๋‹ค ๊ธฐํš์ž๊ฐ€ ์ด๋ ‡๊ฒŒ ๋งํ•ฉ๋‹ˆ๋‹ค.

“์•„ ์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”! ๋””์ž์ธ์€ ์ด๋ ‡๊ฒŒ ๋‚˜์™”์–ด์š”.”

์•„๊นŒ ๋ณด์•˜๋˜ ๋ˆ๊ธธ ๊ณ„์•ฝํ•˜๊ธฐ ์Šคํ…์— ์“ฐ์ด๋Š” ํ”„๋กœ๊ทธ๋ ˆ์Šค ๋ฐ”์™€ ๋˜‘๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋„ค์š”.

 

๋‹ค์‹œ ์ฝ”๋“œ๋กœ ๋Œ์•„์™€์„œ ๋ด…์‹œ๋‹ค. ์„œ๋น„์Šค ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ์ด ๋„ค๋‹จ๊ณ„๋‹ˆ๊นŒ skipSelectParent๋ฅผ true๋กœ ์ค˜์„œ ์‚ฌ์šฉํ• ๊นŒ์š”? ๋ฌผ๋ก  ์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ ๋ˆ„๊ฐ€๋ด๋„ ์ข‹์€ ์ฝ”๋“œ๋Š” ์•„๋‹ˆ๊ฒ ์ฃ . ์ œ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋‹ˆ๊นŒ ๋ฌผ๋ก  ์ €๋Š” ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ฝ์—ˆ์„ ๋•Œ ์ ˆ๋Œ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋„ค์ด๋ฐ์€ ์•„๋‹™๋‹ˆ๋‹ค.

 

(14) ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ข‹์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ž€ ์ปดํฌ๋„ŒํŠธ์— ์ธ์ž๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…, ์„ค๊ณ„๋„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋“ค์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๋„๋ฉ”์ธ๊ณผ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๊ณ , ํ™•์žฅ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์Šคํƒญ์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” props๋Š” ๋ˆ๊ธธ ๊ณ„์•ฝํ•˜๊ธฐ ๊ณผ์ •์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๋„ค์ด๋ฐ(skipSelectParent)์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์Šคํƒญ ๋˜ํ•œ 4๊ฐœ ํ˜น์€ 5๊ฐœ. ์—ญ์‹œ ๋ˆ๊ธธ ๊ณ„์•ฝํ•˜๊ธฐ์—์„œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์ฃ .

 

(15) ํ™”๋ฉด๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. step๊ณผ skip์–ด์ฉŒ๊ตฌ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ›์€ ์ธ์ž๋ฅผ, now์™€ total์ด๋ผ๋Š” (๋ˆ๊ธธ๊ณ„์•ฝํ•˜๊ธฐ)์™€ ๊ด€๋ จ์—†๋Š” ๋ณดํŽธ์ ์ธ ๋„ค์ด๋ฐ์œผ๋กœ ๋ฐ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๊ฐœ์ˆ˜๋„ 4-5๊ฐœ์—์„œ ์ œํ•œ์—†์ด total๋กœ ๋ฐ›์€ ๊ฐ’ ๋งŒํผ ๋™๊ทธ๋ผ๋ฏธ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์Šคํ…์ด ๋ช‡๊ฐœ๊ฐ€ ์žˆ๋“ ์ง€ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ .

 

 

์ข‹์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฉ๊ธˆ ์†Œ๊ฐœํ•œ ๊ฒƒ ์™ธ์—๋„ ๋งค์šฐ ๋‹ค์–‘ํ•œ ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์–‘ํ•˜๊ณ  ๋” ๊นŠ์€ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋“œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ์ด๊ณณ์—” ๋‹ค์–‘ํ•œ ํŒŒํŠธ์˜ ๋ฉค๋ฒ„๋ถ„๋“ค๊ณผ ํ•™์šฐ๋ถ„๋“ค์ด ๊ณ„์‹œ๊ธฐ ๋•Œ๋ฌธ์—.. ํฅ๋ฏธ์žˆ์„ ๋ฒ•ํ•œ ๋‚ด์šฉ์œผ๋กœ๋งŒ ์ค€๋น„๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์˜ค๋Š˜ ๋ฐœํ‘œํ•œ ๋‚ด์šฉ์€ ์ œ ๊ฒฝํ—˜๊ณผ ํ•จ๊ป˜ ์œ ํŠœ๋ธŒ์—์„œ ๋ณธ ์˜์ƒ๋“ค์—์„œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์–ด ์ค€๋น„ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.(1) (2) ์ œ ์ด์•ผ๊ธฐ๊ฐ€ ์žฌ๋ฐŒ์œผ์…จ๊ฑฐ๋‚˜, ๋” ๊ถ๊ธˆํ•˜์‹ ๊ฒŒ ์žˆ์œผ์‹ ๋ถ„์€ ์ด๋Ÿฐ๊ฒƒ๋“ค ํ•œ๋ฒˆ ์ฐพ์•„๋ณด์‹œ๋ฉด ๋งŽ์€ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.