DEVLOG
next.js + styled-components className ์ค๋ฅํด๊ฒฐ๋ฐฉ๋ฒ ๋ณธ๋ฌธ
๐ ๋ชฉ์ฐจ
๐ก ์ด์
Warning : Props 'className' did not match
์์ ๊ฐ์ ์๋ฌ๋ฉ์ธ์ง์ ํจ๊ป ํ์ด์ง์คํ์ผ์ด ๋ค ๊นจ์ง๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ ๋ฃ๋ค๊ฐ ๋ฐ์ํด์ ๋ฏธ๋์ด์ฟผ๋ฆฌ๊ฐ ๋ฌธ์ ์ธ ์ค ์์๋๋ฐ,, ์ง์ฐ๊ณ ๋๋๋ ค๊ณ ๋๊ฐ์์๋ฌ๊ฐ ๋ฐ๋ณต๋์๋ค ๐
๐ก ์์ธ
์ฒซ ํ์ด์ง๋ SSR๋ก ์๋ํ๋ฉฐ ์ดํ CSR๋ก ํ๋ฉด์ ๋ ๋๋งํ๊ฒ ๋๋๋ฐ, ์ด๋ ์๋ฒ์์ ๋ฐ์ ํด์+ํด๋์ค๋ช ๊ณผ ์ดํ ํด๋ผ์ด์ธํธ์์ ์๋ํ๋ ํด์+ํด๋์ค ๋ช ์ด ๋ฌ๋ผ์ง๋ฉด์ ์คํ์ผ์ ๋ถ๋ฌ์ฌ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๐ก ํด๊ฒฐ
๋ฐ๋ฒจ ํ๋ฌ๊ทธ์ธ babel-plugin-styled-components
๋ฅผ ์ค์นํ๊ณ ๋ฐ๋ฒจ์ค์ (.babelrc
)์ ์ถ๊ฐํจ์ผ๋ก ํด๊ฒฐํ ์ ์๋ค.
์ด ํ๋ฌ๊ทธ์ธ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ํด๋์ค๋ช
์ ์ผ์น ์์ผ์ฃผ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋๋ก ๋์์ค๋ค.
yarn add babel-plugin-styled-components
.bablerc
{
"presets": ["next/babel"],
"plugins": [
[
"babel-plugin-styled-components",
{ "fileName": true, "displayName": true, "pure": true }
]
]
}
๋ฐ๋ฒจ ํ๋ฌ๊ทธ์ธ ์ค์ ์ ๋ฐฐ์ด๋ก ๋ด์ [0]์ธ๋ฑ์ค์๋ ํ๋ฌ๊ทธ์ธ๋ช , [1]์ธ๋ฑ์ค์๋ ์ต์ ์ ์์น์ํจ๋ค.
์ถ๊ฐ ๋ฐ๋ฒจ ํ๋ฌ๊ทธ์ธ๋ค
- fileName: ์ฝ๋๊ฐ ํฌํจ๋ ํ์ผ๋ช ์ ์๋ ค์ค
- displayName : ํด๋์ค๋ช ์ ํด๋น ์คํ์ผ ์ ๋ณด ์ถ๊ฐ
- pure : ์ฌ์ฉํ์ง ์์ ์์ฑ ์ ๊ฑฐ
ํ๋ฌ๊ทธ์ธ ์ค์น, ์ค์ ํ์ผ ์ถ๊ฐ ํ ์๋ฒ๋ฅผ ๊ป๋ค ํค๋ฉด ์ ์์ ์ผ๋ก ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค!
๐ก ์ต์ ์ ์ฉ ์ /ํ ํด๋์ค๋ช ๋น๊ต
์ : sc-17fsht8-0 cbfSeC
ํ: Header__Container-sc-17fsht8-0 kZvURD