[์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ - ๋กค๋ง ํšŒ๊ณ 

2025. 10. 29. 17:07ยท๐Ÿ‘€ ํ”„๋กœ์ ํŠธ ๋ฐ ํ™œ๋™/์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ 19๊ธฐ

๐Ÿ”— ํ”„๋กœ์ ํŠธ - ๋กค๋ง

๋”๋ณด๊ธฐ

1. ๐Ÿšจ Tailwind + cva + clsx + twMerge ์กฐํ•ฉ์—์„œ ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์„ ๋•Œ

2. ๐Ÿšจ PropTypes์—์„œ JSDoc์œผ๋กœ — React 19 ํƒ€์ž… ๊ด€๋ฆฌ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

3. ๐Ÿšจ ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ — ์ด๋ชจ์ง€ ๋ฐ˜์‘ UI ๋ฏธ๋ฐ˜์˜ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

4. [์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ - ๋กค๋ง ํšŒ๊ณ 


์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ์—์„œ ์ง„ํ–‰ํ•œ ์•ฝ 2~3์ฃผ๊ฐ„์˜ ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚œ ์ง€ 2์ฃผ ์ •๋„ ์ง€๋‚œ ์ง€๊ธˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ํšŒ๊ณ ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค ํ•œ๋‹ค.

 

1๏ธโƒฃ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ด๋ฒˆ ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ๋Š” ๋กค๋ง(Rolling)์ด๋‹ค.

๋กค๋ง์€ ์˜จ๋ผ์ธ์—์„œ ๋กค๋งํŽ˜์ดํผ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฉ”์„ธ์ง€์™€ ์ด๋ชจ์ง€๋ฅผ ๋“ฑ๋ก/์กฐํšŒ/์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค.

 

์ฒ˜์Œ์œผ๋กœ ์ง„ํ–‰ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ํŒ€ ํ”„๋กœ์ ํŠธ์˜€๊ธฐ ๋•Œ๋ฌธ์—

๊ธฐ๋Œ€ ๋ฐ˜, ๊ฑฑ์ • ๋ฐ˜์˜ ๋งˆ์Œ์œผ๋กœ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ž˜ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํŒ€์žฅ์„ ๋งก์•„์„œ

UI ๊ตฌํ˜„, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ํ† ์ŠคํŠธ ์•Œ๋ฆผ, API ์—ฐ๋™๋“ฑ์„ ๋‹ด๋‹นํ•˜์˜€๋‹ค.

 

2๏ธโƒฃ ์ฃผ์š” ๊ฒฝํ—˜ ๋˜๋Š” ๋ฐฐ์šด ์ 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ฒ˜์Œ์œผ๋กœ Github Issue๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค.

Issue ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๊ณ , PR๊ณผ ์—ฐ๊ฒฐํ•ด๋ณด๋ฉด์„œ ๊นƒํ—ˆ๋ธŒ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ข€ ๋” ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋งˆ์ผ์Šคํ†ค์œผ๋กœ ์ „์ฒด ๊ธฐ๊ฐ„ ๊ด€๋ฆฌ๋„ ํ•ด๋ณด๊ณ ,

Wiki๋ฅผ ํ™œ์šฉํ•ด ํŒ€ ์ปจ๋ฒค์…˜์ด๋‚˜ ์ปค์Šคํ…€ ํ›… ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด์„œ ํ˜‘์—… ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ๋‹ค.

 

๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” useContext๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค.

๋‹ค๋งŒ ๊ตฌํ˜„ํ•  ๋•Œ Fast Refresh ๊ด€๋ จ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ

Context ์ƒ์„ฑ ํŒŒ์ผ, Provider ํŒŒ์ผ, Hook ํŒŒ์ผ์„ ๋ชจ๋‘ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์—ˆ๋‹ค.

์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด Jotai๋‚˜ Zustand ๊ฐ™์€ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„์ž…ํ–ˆ๋”๋ผ๋ฉด

ํŒŒ์ผ์„ ์ข€ ๋” ๋‹จ์ˆœํ™”ํ•  ์ˆ˜๋„ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ์™€ ์„œ๋ฒ„ ์ƒํƒœ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณด๋ฉด์„œ

์ด์ „์—๋Š” ๋‹จ์ˆœํžˆ ์ข‹๋‹ค๊ณ ๋งŒ ์•Œ์•˜๋˜ ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•„์š”์„ฑ์„ ์ฒด๊ฐํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

→ ์ด ๋ถ€๋ถ„์€ ๐Ÿšจ ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ — ์ด๋ชจ์ง€ ๋ฐ˜์‘ UI ๋ฏธ๋ฐ˜์˜ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ธ€์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃจ์—ˆ๋‹ค.

 

3๏ธโƒฃ ์•„์‰ฌ์› ๋˜ ์  & ๋‹ค์Œ ๋ชฉํ‘œ

๐Ÿ”น ํŒ€ ์ปจ๋ฒค์…˜

ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ „์— ํ˜ธ๊ธฐ๋กญ๊ฒŒ ํŒ€ ์ปจ๋ฒค์…˜์„ ์„ธ์„ธํ•˜๊ฒŒ ์ •ํ–ˆ์—ˆ๋Š”๋ฐ,

๋Œ€์ฒด๋กœ ์ž˜ ์ง€์ผฐ์ง€๋งŒ… ๋ชจ๋‘๊ฐ€ ๊นŒ๋จน๊ณ  ์ง€ํ‚ค์ง€ ๋ชปํ•œ ์ปจ๋ฒค์…˜์ด ์žˆ์—ˆ๋‹ค.

 

ํ•จ์ˆ˜๋ช… ๊ด€๋ จ ์ปจ๋ฒค์…˜์ธ๋ฐ, async ํ•จ์ˆ˜๋ช…์— ์ ‘๋ฏธ์‚ฌ๋กœ async์„ ๋ถ™์ด๊ธฐ๋กœ ํ–ˆ์ง€๋งŒ

๋ชจ๋‘๊ฐ€ ์žŠ์–ด์„œ ํ์ง€๋ถ€์ง€ ๋˜์—ˆ๋‹ค. ๐Ÿซ 

 

์ปจ๋ฒค์…˜์„ ๋„ˆ๋ฌด ์—„๊ฒฉํ•˜๊ฒŒ ์ •ํ•˜๊ธฐ ๋ณด๋‹ค๋Š”,

ESLint๋กœ ์ œ์–ด ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„ ๋‚ด์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข€ ๋” ํŽธ๋ฆฌํ•œ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

๐Ÿ”น ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์ž…

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์ง€๋งŒ,

๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ ๊ทน์ ์œผ๋กœ ๋„์ž…ํ•ด๋ณผ ๊ณ„ํš์ด๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๋” ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ๋„ ๊ฐœ์„ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

 

๐Ÿ”น ์ฝ”๋“œ ๋ฆฌ๋ทฐ & ์ผ์ • ๊ด€๋ฆฌ

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ค‘ ์ถ”์„ ์—ฐํœด๊ฐ€ ํฌํ•จ๋˜์–ด ์ผ์ •์— ์—ฌ์œ ๊ฐ€ ์žˆ์„ ์ค„ ์•Œ์•˜์ง€๋งŒ,

ํŒ€์›๋งˆ๋‹ค ์ž‘์—… ์†๋„๊ฐ€ ๋‹ฌ๋ผ ์‹ค์ œ๋กœ๋Š” ์—ฌ์œ ๋กญ์ง€ ์•Š์•˜๋‹ค.

 

๋˜ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ๊ณต์œ ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•„ ์•„์‰ฌ์›€์ด ๋‚จ์•˜๋‹ค.

๋Œ€๋ถ€๋ถ„ Gemini ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ์˜์กดํ–ˆ๊ณ ,

๋‚˜ ์—ญ์‹œ๋„ ๋””์ž์ธ ์‹œ์•ˆ๊ณผ์˜ ์ฐจ์ด, ์ค‘๋ณต ์ฝ”๋“œ ์ •๋„๋งŒ ๊ฒ€ํ† ํ–ˆ์—ˆ๋‹ค.

 

๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ •๊ธฐ์ ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ์ฝ”๋“œ ๊ณต์œ  ์‹œ๊ฐ„์„ ๋งˆ๋ จํ•ด์„œ

ํŒ€์› ๊ฐ„ ํ˜‘์—…์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์—ฌ๋ณด๊ณ  ์‹ถ๋‹ค.

 

๐ŸŽฌ ๋งˆ๋ฌด๋ฆฌ

์ž‘์€ ํ”„๋กœ์ ํŠธ์˜€์ง€๋งŒ, ํ˜‘์—… ๋„๊ตฌ ํ™œ์šฉ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ์ค‘์š”์„ฑ์„ ์ง์ ‘ ์ฒด๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ข‹์€ ๊ธฐํšŒ์˜€๋‹ค.

๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋„ ํŒŒ์ดํŒ…!๐Ÿ•บ

 

๐Ÿ“Ž ๊ด€๋ จ ๋งํฌ

ํ”„๋กœ์ ํŠธ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

1. ๐Ÿšจ Tailwind + cva + clsx + twMerge ์กฐํ•ฉ์—์„œ ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์„ ๋•Œ

2. ๐Ÿšจ PropTypes์—์„œ JSDoc์œผ๋กœ — React 19 ํƒ€์ž… ๊ด€๋ฆฌ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

3. ๐Ÿšจ ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ — ์ด๋ชจ์ง€ ๋ฐ˜์‘ UI ๋ฏธ๋ฐ˜์˜ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

 

ํ”„๋กœ์ ํŠธ GitHub

https://github.com/Sprint-19-Rolling/frontend

 

GitHub - Sprint-19-Rolling/frontend: Rolling - ๋กค๋งํŽ˜์ดํผ

Rolling - ๋กค๋งํŽ˜์ดํผ. Contribute to Sprint-19-Rolling/frontend development by creating an account on GitHub.

github.com

 

ํ”„๋กœ์ ํŠธ Wiki

https://github.com/Sprint-19-Rolling/frontend/wiki

 

Home

Rolling - ๋กค๋งํŽ˜์ดํผ. Contribute to Sprint-19-Rolling/frontend development by creating an account on GitHub.

github.com

 

 

ํ”„๋กœ์ ํŠธ ์‹œ์—ฐ ์˜์ƒ

https://www.youtube.com/watch?v=PKDVtuITyT4

 

728x90
'๐Ÿ‘€ ํ”„๋กœ์ ํŠธ ๋ฐ ํ™œ๋™/์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ 19๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] 15์ฃผ์ฐจ ~ 16์ฃผ์ฐจ ํšŒ๊ณ ๋ก
  • [์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] ์Šคํ”„๋ฆฐํŠธ ๋ฏธ์…˜ 5 ํ›„๊ธฐ - (2) ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„ ๊ณผ์ •
  • [์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] ์Šคํ”„๋ฆฐํŠธ ๋ฏธ์…˜ 5 ํ›„๊ธฐ - (1) ํ”„๋กœ์ ํŠธ ์„ธํŒ…(Prettier, ESLint, Husky ์„ค์ •)
  • [์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] 14์ฃผ์ฐจ ํšŒ๊ณ ๋ก
_์ด์•Ž
_์ด์•Ž
๊ณต๋ถ€ ๊ธฐ๋ก ๋ธ”๋กœ๊ทธ
  • _์ด์•Ž
    ๊ณต๋ถ€
    _์ด์•Ž
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • โœ๏ธ ๋ชจ๋“  ๊ธ€ (79)
      • ๐Ÿ“š ํ”„๋ก ํŠธ์—”๋“œ (48)
        • Web (6)
        • React (11)
        • Next.js (2)
        • JavaScript (13)
        • TypeScript (2)
        • Dev Setup (1)
        • git+github (4)
        • HTML+CSS (9)
      • ๐Ÿ‘€ ํ”„๋กœ์ ํŠธ ๋ฐ ํ™œ๋™ (24)
        • ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ 19๊ธฐ (19)
        • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ (2)
        • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… + ๋ฆฌํŒฉํ† ๋ง (3)
      • ๐Ÿ“ ์ž๋ฃŒ ์ •๋ฆฌ (3)
        • React ๊ณต์‹๋ฌธ์„œ (3)
      • โš™๏ธ etc. (4)
  • ๋งํฌ

    • ๐Ÿ‘‹ GitHub
    • ๐Ÿ“ GitHub/Study
    • ๐Ÿง ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ธฐ๋ก
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.4
_์ด์•Ž
[์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ FE 19๊ธฐ] ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ - ๋กค๋ง ํšŒ๊ณ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”