styled-components
νμ΅ ν€μλ
Styled Components
μ€μΉ λ° μ€μ
κΈ°λ³Έ λ¬Έλ²
props
attrs
Reset CSS
Global Style
Theme
π
π» styled-components
CSS in JS λΌμ΄λΈλ¬λ¦¬
CSSμ λ¬Έμ μ μ ν΄κ²°νκ³ μ μλ°μ€ν¬λ¦½νΈ μ½λλ‘ CSSλ₯Ό μμ±νλ λ°©μμΌλ‘ μ€κ³
Tagged Template Literals
λ¬Έλ² μ¬μ©
π Tagged Template Literals ES6μ μΆκ° λ λ¬Έλ²μΌλ‘ template literals μ λμ± λ°μ λ ν ννλ‘ νκ·Έλ₯Ό μ¬μ©νλ©΄ ν νλ¦Ώ 리ν°λ΄μ ν¨μλ‘ νμ± ν μ μλ€. νκ·Έ ν¨μμ 첫λ²μ§Έ μΈμλ λ¬Έμμ΄ κ°μ λ°°μ΄μ ν¬ν¨νκ³ , λλ¨Έμ§ μΈμλ ννμκ΄ κ΄λ ¨λμ΄ μλ€.
βοΈ μ€μΉ λ° μ€μ
ν¨ν€μ§ μ€μΉ
Babel Pluginμ SWCμμ μΈ μ μλλ‘ ν¬ν ν κ²λ ν¨κ» μ€μΉ @swc/plugin-styled-components
βοΈ SSR μ§μ λ±μ μν 곡μ κΆμ₯μ¬ν
vscode-styled-components Extention μ€μΉ
.swcrc
νμΌ μμ±
κΈ°λ³Έ μ¬μ©λ²
sytel.μνλ νκ·Έ μ°κ³ 리ν°λλ°©μμΌλ‘ css μμ±λ€μ λ£μ΄μ£Όλ©΄ λλ€.
props
propsλ₯Ό μ΄μ©ν΄μ νμ±ν μ¬λΆλ₯Ό νννκ±°λ νΉμ μ€νμΌμ μ‘μ μ£Όκ³ μΆμ λ μ μ©
attrs
κΈ°λ³Έ μμ±μ μΆκ°ν μ μλ€. λΆνμνκ² λ°λ³΅λλ μμ±μ μ²λ¦¬ν λ μ μ©
λ²νΌμ λ§λ€ λ μ κ·Ήμ μΌλ‘ νμ©
Reset CSS
styled-reset ν¨ν€μ§ μ€μΉ
styled-components μμ Reset CSS μ²λΌ νκ·Έλ€μ κΈ°λ³Έ μμ±μ μ΄κΈ°ν νκΈ° μν΄ μ€μΉ
μ΅μμ μ»΄ν¬λνΈ μ μ©
Global Style
styles
ν΄λ ,GlobalStyle.ts
νμΌ μμ±
createGlobalStyle μ¬μ©ν΄μ μ μ μ€νμΌ μ§μ
μ΅μμ μ»΄ν¬λνΈ μ μ©
Theme
Theming β
<ThemeProvider>
νμ©λμμΈ μμ€ν μ κ·Όκ°μ λ§λ ¨νλ νμ©
ex.λ€ν¬λͺ¨λ λμνκΈ° μ¬μ
styles/defaultTheme.ts
νμΌ μμ±
defaultTheme.ts
νμΌ μμ±μμΌλ‘ typeof
λ₯Ό μ¬μ©ν΄μ Theme νμ
μ§μ β styles/Theme.ts
νμΌ μμ±
typeof
λ₯Ό μ¬μ©ν΄μ Theme νμ
μ§μ β styles/Theme.ts
νμΌ μμ±styles/darkTheme.ts
νμΌ μμ±ν΄μ Theme μΌλ‘ νμ
μ§μ
darkTheme.ts
νμΌ μμ±ν΄μ Theme μΌλ‘ νμ
μ§μ μ΅μμ <ThemeProvider>
μ»΄ν¬λνΈλ₯Ό ν΅ν΄ 곡κΈ
<ThemeProvider>
μ»΄ν¬λνΈλ₯Ό ν΅ν΄ 곡κΈκ³΅κΈ λ°μ themeμ μ¬μ©νκΈ° μν΄μ νμ
μ§μ νμ β styled.d.ts
νμΌ μμ±
styled.d.ts
νμΌ μμ±μλ μ½λ μ²λΌ νλμ© μ§μ ν΄μ€λ λμ§λ§, μμ±λ€μ΄ μΆκ°λ κ°λ₯μ±μ κ³ λ €ν΄μ
Theme.ts
νμ©
λλ
π Theme μλ―Έ μκ² μ¬μ©νκΈ° μν΄ μ°Έκ³
π¨ window.matchMedia
Error λ°μ
window.matchMedia
Error λ°μJest ν μ€νΈμμ λ€ν¬λͺ¨λ ꡬνμ
window.matchMedia
Error λ°μ
window.matchMedia
λ μ¬μ©μμ μμ€ν μ€μ μ ν λ§λ₯Ό μΈμνκΈ° μν΄ μ¬μ©νλ€.
Jest 곡μλ¬Έμμλ src/setupTests.ts
νμΌ ν΄λΉ μ½λ μ¬μ©ν΄μ μ΄μλ₯Ό ν΄κ²°νλΌκ³ μλ΄νκ³ μλ€.
π μ°Έκ³
Last updated