2025. 3. 26. 02:21ใStyle/Styled Component

Next.js์ TypeScript๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฉด์ ๋ฉ๋ชจ์ฅ์ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด๋ณด์..
ํ๋ฉด์ ChatGPT๋ฅผ ๋ฐ๋ผ๊ฐ๋ค๊ฐ ์๊ธด ์๋ฌธ์ !
- module.css ์ด๊ฑฐ ๋ญ์ง
- (gpt ์ค๋ช ๋ฃ๊ณ ๋ ํ) ์ด ๊ทธ๋ผ styled-components๋..?
module.css
.module.css๋ CSS Modules ์ ์ฌ์ฉํ ๋๋ง ๋ถ์ด๋ ๊ฑฐ๋ค.
| ์ผ๋ฐ CSS | CSS ๋ชจ๋ | |
| ์ ์ฉ ๋ฐฉ์ | className="memo-container" | className={styles.memoContainer} |
| ์ ์ญ/๋ก์ปฌ ๋ฒ์ | ์ ์ญ(Global) | ๋ก์ปฌ(Local) |
| ์ถฉ๋ ๊ฐ๋ฅ์ฑ | ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ํด๋์ค๋ช ์ด ๊ฒน์น ์ ์์ | ๊ฐ์ ํด๋์ค๋ช ์ด ์์ด๋ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ |
| ์ฌ์ฉ ์์ | import "./global.css"; | import styles from "./Memo.module.css"; |
-> ๊ฐ ์ปดํฌ๋ํธ๋ณ๋ก ๋ ๋ฆฝ์ ์ธ ์คํ์ผ์ ์ ์งํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ฉด ์ข๋ค
-> ์ ์ญ CSS๋ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๊ณ ์ถฉ๋ ์ํ์ด ์ปค์ง๋ฏ๋ก ๊ฐ ์ปดํฌ๋ํธ๋ง๋ค .module.css๋ฅผ ์ฌ์ฉํด์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค
-> .css๋ body, html, button๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ์์ ์คํ์ผ์ ์ง์ ํ ๋๋ ๊ณตํต ์คํ์ผ์ ๊ด๋ฆฌํ๊ณ ์ถ์ ๋(global.css์์ ํฐํธ, ์์ ๋ฑ์ ๊ธฐ๋ณธ๋ ์ด์์ ์ ์)์ฐ๋ฉด ์ข๋ค
styled-components vs .module.css
| styled-components | .module.css | |
| ์คํ์ผ ์ ์ฉ ๋ฐฉ์ | JS/TS์์ ์ง์ ์คํ์ผ๋ง | ๋ณ๋์ .module.css ํ์ผ์์ ์คํ์ผ ๊ด๋ฆฌ |
| CSS ๋ฒ์ | ์๋์ผ๋ก ์ปดํฌ๋ํธ ๋จ์๋ก ์บก์ํ | ๋ก์ปฌ ๋ฒ์๋ก๋ง ์ ์ฉ(๋์ด๋์ด) |
| ๋์ ์คํ์ผ | props๋ฅผ ํ์ฉํ ๋์ ์คํ์ผ ์ ์ฉ ๊ฐ๋ฅ | ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ด๋ ค์(className์ผ๋ก ์ ์ด) |
| ์ฑ๋ฅ | SSR ์ ์ฑ๋ฅ ์ด์ ๋ฐ์ | Next.js ๊ธฐ๋ณธ ์ง์ ๋ฐฉ์์ผ๋ก ์ฑ๋ฅ ์ต์ ํ |
| ์ ์ญ ์คํ์ผ ์ ์ฉ | createGlobalStyle ์ฌ์ฉ | global.css์ ๊ฐ์ ํ์ผ์ ๋ฐ๋ก ์์ฑ |
Next.js์์ styled-components๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ข์ ์ํฉ
- ๋์ ์ธ ์คํ์ผ ๋ณ๊ฒฝ(props์ ๋ฐ๋ฅธ ์์ ๋ณ๊ฒฝ ๋ฑ)์ด ๋ง์ ๊ฒฝ์ฐ
- CSS-in-JS ์คํ์ผ๋ง์ ์ ํธํจ
- ๋์์ธ ์์คํ ๊ณผ ํจ๊ป ์ฌ์ฉ(ex. styled-components+ThemProvider)
๊ทผ๋ฐ Next.js์์๋ SSR ์ง์์ ์ํ ์ถ๊ฐ ์ค์ ์ด ํ์ํ๋ค
- "npm install styled-components"
- _document.tsx ํ์ผ์ ์์ ํ์ฌ SSR ์ง์ ์ถ๊ฐ
Next.js์์ .module.css๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ข์ ์ํฉ
- Next.js์์ ๊ธฐ๋ณธ ์ง์๋๋ฏ๋ก ์ถ๊ฐ ์ค์ x
- ์ปดํฌ๋ํธ๋ณ๋ก ์คํ์ผ์ ๋ถ๋ฆฌํ๊ณ ์ถ์ ๋
- SSR ์ฑ๋ฅ์ ๊ณ ๋ คํ๋ค๋ฉด
- ์ ํต์ ์ธ CSS ๋ฐฉ์์ ์ฌ์ฉํ ๊ฑฐ๋ผ๋ฉด
๊ทธ๋ฌ๋ฏ๋ก ํ๋ก์ ํธ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง...
- .module.css(๊ธฐ๋ณธ ์คํ์ผ) + styled-components(๋์ ์คํ์ผ) + css(๊ธฐ๋ณธ ์คํ์ผ)
- styled-components(์บก์ํ) + css(๊ธฐ๋ณธ ์คํ์ผ)
์ด๋ฐ์์ผ๋ก ์ฌ์ฉํ๋ฉด ๋์ง ์์๊น ์ถ๋ค.
์ด๊ฑด ๋ ์ฐพ์๋ณด๋ฉด์ ์ด๋ค ์์ผ๋ก ์์ฑํ๋ ๊ฒ ์ข์์ง ์์๋ด์ผ๊ฒ ๋ค.
'Style > Styled Component' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Styled Components : ์ ์ญ ์คํ์ผ๋ง (1) | 2025.02.15 |
|---|---|
| Styled Components (0) | 2025.02.15 |
GitHub