์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ HTML Element๋ฅผ ์คํ์ผ๋งํ ๋๋ Css ํ์ผ์ importํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ด์ฉํ์๋ค.
์ด ๋ฐฉ๋ฒ์ ํ์ฌ ๋ง์ ๋ถ๋ถ์ ์น ์๋น์ค์ ์กด์ฌํ๋ ๋ฐฉ๋ฒ์ด๊ณ ๋งค์ฐ ๋ฉ์ง๊ณ ์ ์ ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค.
ํ์ง๋ง ์ ์ด๋ React์์๋ ์ปดํฌ๋ํธ๋ฅผ ์คํ์ผ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋์ฑ ์ถ์ฒ๋๋ค.
Styling In React
๋ฆฌ์กํธ์์ ์ปดํฌ๋ํธ๋ฅผ ์คํ์ผ๋ง ํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค.
- Sass
- Css Module
- styled-components
๊ทธ ์ค์ ์ฐ๋ฆฌ๋ React ๊ณต์ ํํ์ด์ง์์ ๊ถ์ฅํ๋ Styled-Component์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค.
๋ํ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
styled-component์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ๊ฒ 3๊ฐ์ง์ ์ฐจ์ด์ ๋ํด ํ๋ก ์ ๋ฆฌํด๋ณด์.
์ด๋ฆ, ํน์ง, ์ถ์ฒ ์ฌ์ดํธ
์ด๋ฆ | ํน์ง | ์ถ์ฒ ์ฌ์ดํธ |
Sass | CSS pre-processor๋ก ๋ณต์กํ ์์ ์ด ์ฌ์์ง | ๋ฒจ๋กํผํธ๋์ Sass gitboot |
Css Module | css์ classname์ ๋ํ ์ค๋ณต ๊ฑฑ์ ์ ์ค์ด์ค | ๋ฒจ๋กํผํธ๋์ css module gitbook |
styled-component | Css-in-js๋ฅผ ์ฌ์ฉํ ๊ธฐ์ ๋ก ๊ฐ์ฅ ์ธ๊ธฐ๊ฐ ๋ง์ | ํด๋น ๋ธ๋ก๊ทธ styled-components ์นดํ ๊ณ ๋ฆฌ |
styled-components
styled-components๋ ์ ํํ CSS-in-js ๋ผ๋ ๊ธฐ์ ์ ์ฌ์ฉํ๋ค.
์ด๋ JS ์ฝ๋ ๋ด์ CSS๋ฅผ ์์ฑํ๋ ๊ฒ์ ์๋ฏธํ๋๋ฐ, ์์์ ๋ดค๋ฏ React์์ ๊ฐ์ฅ ๊ถ๊ณ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ฐ CSS-In-Js ์๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค.
- emotion
- spring
- styled-components
์ค๋์ CSS-In-JS์ styled-components๊ฐ ๋ฌด์์ธ์ง์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ์๊ฒ ๋์๊ณ ๋ค์ ์๊ฐ๋ถํฐ styled-components์ ํ์ํ ๊ธฐ์ด ์ง์๊ณผ styled-components์ ์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณด์.
๋๊ธ