[React/CSS] Component Driven Development(CDD)

Hannahhhยท2022๋…„ 8์›” 26์ผ
0

React

๋ชฉ๋ก ๋ณด๊ธฐ
13/30

๐Ÿ” CDD

๋ถ€ํ’ˆ ๋‹จ์œ„๋กœ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๋Š” ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ, ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ‘€ ๊ตฌ์กฐ์ ์œผ๋กœ CSS๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•


ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ์™€ ๋ณต์žก๋„ ๋ฐ ํŒ€์› ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๊ณ , ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค๊ฐ€ ๋“ฑ์žฅํ•จ์— ๋”ฐ๋ผ CSS ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ํšจ์œจ์ ์ธ CSS ์ž‘์—…์„ ์œ„ํ•ด ๊ตฌ์กฐ์ ์œผ๋กœ CSS๋ฅผ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์‹œ๋„๊ฐ€ ์žˆ์—ˆ๋‹ค.


1. CSS ์ „์ฒ˜๋ฆฌ๊ธฐ

CSS๊ฐ€ ๊ตฌ์กฐ์ ์œผ๋กœ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋„์›€์„ ์ฃผ๋Š” ๋„๊ตฌ๋กœ, Compiler๋ฅผ ํ†ตํ•ด CSS๋ฌธ์„œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ CSS์˜ ์šฉ๋Ÿ‰์ด ๋งค์šฐ ์ปค์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. (ex. SASS)


2. BEM

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


3. Styled-Component

HTML + JS + CSS๊นŒ์ง€ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ JSํŒŒ์ผ ์•ˆ์—์„œ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, CSS๋ฅผ ์ปดํฌ๋„ŒํŠธ ์•ˆ์œผ๋กœ ์บก์Šํ™”ํ•œ๋‹ค.



๐Ÿ‘€ CSS ๋ฐฉ๋ฒ•๋ก ๋“ค์˜ ํŠน์ง•, ์žฅ๋‹จ์ 


ํŠน์ง•์žฅ์ ๋‹จ์ 
CSSdefault ์Šคํƒ€์ผ๋ง ๋ฐฉ๋ฒ•-์ผ๊ด€๋œ ํŒจํ„ดx
!important ๋‚จ์šฉ
SASS
(์ „์ฒ˜๋ฆฌ๊ธฐ)
์ปดํŒŒ์ผ๋œ CSS๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ๋ณ€์ˆ˜,ํ•จ์ˆ˜,์ƒ์† ๊ฐœ๋…์„ ํ™œ์šฉํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ
CSS์˜ ๊ตฌ์กฐํ™”
์ „์ฒ˜๋ฆฌ ๊ณผ์ • ํ•„์š”
๋””๋ฒ„๊น… ์–ด๋ ค์›€
CSS ํŒŒ์ผ ์šฉ๋Ÿ‰ ๋ฌธ์ œ
BEMCSS ํด๋ž˜์Šค๋ช… ์ž‘์„ฑ ์‹œ, ์ผ๊ด€๋œ ํŒจํ„ด์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ค์ด๋ฐ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
์ „์ฒ˜๋ฆฌ ๊ณผ์ •x
์„ ํƒ์ž ์ด๋ฆ„์ด ๊ธธ์–ด์ง€๋Š” ๋ฌธ์ œ
ํด๋ž˜์Šค ๋ชฉ๋ก์ด ๋งŽ์•„์ง€๋Š” ๋ฌธ์ œ
Styled-Component
(CSS-in-JS)
์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ CSS๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌCSS๋ฅผ ์ปดํฌ๋„ŒํŠธ ์•ˆ์œผ๋กœ ์บก์Šํ™”
๋„ค์ด๋ฐ, ์ตœ์ ํ™” ์‹ ๊ฒฝ ์“ธ ํ•„์š”x
๋น ๋ฅธ ํŽ˜์ด์ง€ ๋กœ๋“œ์— ๋ถˆ๋ฆฌํ•จ
CSS ์ž‘์„ฑ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ, ๋ฒˆ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค.




Reference: ์ฝ”๋“œ์Šคํ…Œ์ดํŠธ

0๊ฐœ์˜ ๋Œ“๊ธ€