styled-components π μμ styleμ΄ μ μ©μλ λ
babelμ plugin μ€μ μμ emotion κ³Ό babel-plugin-styled-components μμλ₯Ό λ°κΏλ³΄μ
μΆμμ°ν΄μ κ°μΈ νλ‘μ νΈλ₯Ό νλ©΄μ μ΄λ²μλ css μ μ©νλ κ±Έ styled-componentsλ₯Ό μ¬μ©ν΄λ³΄λ €κ³ νλλ°, μ€νμΌμ΄ μ μ©μ΄ μλμ νμ°Έ ν€λ§Έλ€. κ±°μ 2μκ°μ μ΄κ±° λλ¬Έμ νλΉν κ² κ°λ€. λκ°μ λ°λ³΄κ° μκΈΈ λ°λΌλ©°!
μλ¬λ μλλ°, μ€νμΌμ΄ μ μ©μ΄ μλλ νμ
styled-componentsλ₯Ό μ¬μ©νκΈ° μν΄μ λ΄κ° μ€μΉν λΌμ΄λΈλ¬λ¦¬λ 2κ°μλ€.
- styled-components
- babel-plugin-styled-components
// μ»΄ν¬λνΈ κ΅¬μ‘°<App>
<Component />
</App>
κΈμμμ λΉ¨κ°μμΌλ‘ νκ³ μΆμλ€. κ·Έλ°λ° μλλ€.
buildνμ λ λ±ν μλ¬κ° λλ κ²λ μκ³ , localhostμμ 보μμ λ console.log μλ λ³λ€λ₯Έ μλ¬ λ‘κ·Έκ° μμλ€. κ·Έλ¬λ©΄ color
κ° red
λ‘ λμμΌν κ² κ°μλλ°..
styled.div
λ‘ μ΄κ² μλͺ»λκ±΄κ° μΆμ΄μ styled.h1
μΌλ‘ λ°κΏλ΄€λλ h1 tagλ‘ μ λμλλ°, styleλ§ μ μ©μ΄ μλλ€. (μμ§μμ§μμ§μμ§β¦π‘π‘)
const StyledDiv = styled.h1`
color: red;
`;
λ¬Έμ λ babel plugin μ€μ μμμλ€
ꡬκΈλ§ν΄μ λμ€λ μ λ§ν κΈμ λ€ λ΄€λ κ² κ°μλ° ν΄κ²°μ΄ μλλ λμ€ stack over flowμμ μ΄ κΈμ μ°Ύμλ€! π
( π Setup for React styled components)
emotion
μ css κ°μ μ€νμΌ νμΌμ μ΅μνμν€κ³ μ΅μ νμν€κΈ° μν babel pluginμΈλ°, μ μΈλ κ°λ€μ parsingν΄μ μ΅μν/μ΅μ ννλλ°(κ·Έ κ³Όμ μ μ λ΅μμλ magicμ΄λΌκ³ ννν κ² κ°λ€), emotionμ΄ μμ
μ νκΈ° μ μ babel-plugin-styled-components
νλ¬κ·ΈμΈμ μ€ννκ³ , κ·Έ λ€μ emotionμ΄ μμ
ν μ μλλ‘ ν΄μ£Όμ΄μΌ μΆ©λμ΄ λ°μνμ§ μλλ€λ λ»μ΄μλ€.
κ·Έλμ μλμ κ°μ μνμλ babel.config.jsνμΌμμ plugin μμλ₯Ό λ°κΏμ£Όμλ€.
λ³κ²½ μ π
λ³κ²½ ν π
κ·Έλ¬λ©΄ λλκ²λ λ΄κ° μνλλλ‘ μ€νμΌμ΄ μ μ©λλ€.