Global Style & Theme
Global Style
μ μμΌλ‘ μ€νμΌμ μ§μ
createGlobalStyle
μ μ μ€νμΌμ μ²λ¦¬νλ νΉλ³ν μ€νμΌλ μ»΄ν¬λνΈλ₯Ό μμ±νλ ν¬νΌ ν¨μ
μΌλ°μ μΈ μ€νμΌλ μ»΄ν¬λνΈλ μλμΌλ‘ ν΄λμ€ λ²μκ° μ§μ λμ΄ λ€λ₯Έ μ»΄ν¬λνΈλ‘λΆν° 격리λμ§λ§ createGlobalStyle
μ μ΄λ¬ν μ νμ΄ μμ΄μ μ μ μ€νμΌλ§μ΄ κ°λ₯νλ€.
μ μ μ€νμΌμ reset cssλ₯Ό μΆκ°νμ¬ μ΄κΈ°νλ κ°λ₯νλ€.
Theme
λμμΈ μμ€ν μ 체μμ μ¬μ©λλ μμ, νμ΄ν¬κ·ΈλνΌ, μμ΄μ½ λ±μ λμμΈ μμμ μ§ν©
ν λ§λ₯Ό μ μν λ λμμΈ μμ€ν μμ μ¬μ©λλ μ»¬λ¬ νλ νΈ, νμ΄ν¬κ·ΈλνΌ, κ°κ²© λ±μ ν ν°μΌλ‘ κ΄λ¦¬νκ³ , μ΄λ₯Ό μ΄μ©ν΄μ λμμΈ μμ€ν μ 체μ μΌκ΄μ± μλ λμμΈμ μ μ§νκ³ μμ μ ν¨μ¨μ±μ λνλ€.
λμμΈ ν ν°(token)μ΄λ λμμΈ μμμ μμ± κ°μ λ³μννμ¬ κ΄λ¦¬νλ λ°©μ
Token Naming
λμ 보μ΄λ λ¨νΈμ μΈ μ 보λ₯Ό λμ΄μ, βμλ―Έβμ μ§μ€
λμμΈ μμ€ν μ¬μ©μκ° νΉμ ν ν°μ λμμΈ μλμ μ¬μ©λ²μ μ΄ν΄ν μ μλλ‘ νλ κ²μ΄ κ°μ₯ μ€μνλ€.
μ΄λ¬ν μ² νμ μλμ λ°λ₯Έ λμμΈμ κ°λ₯μΌ νλ€.
μ»¬λ¬ ν ν°μ μλ‘ λ€λ©΄ μμ κ°μ μ½λ§€μ΄μ§ μκ³ μλκ° λ μ λ΄κΈ΄ μΆμνλ λ€μ΄λ°μ μ¬μ©νλ κ²μ΄ μ’λ€,
μΆν μμκ°μ΄ λ³κ²½λλ μν©μ΄ μ겨λ μ½λ λ³κ²½μ΄ μ½κ³ , μ μ§λ³΄μμ±μ΄ λλ€.
νμ§λ§ μ΄λ€ κ²½μ°λ μλκ° λ΄κΈ΄ λ€μ΄λ°μ μ¬μ©νκΈ° μ΄λ €μΈ μλ μλ€. μ€μν건 μΌκ΄μ±κ³Ό κ°λ μ±μ΄λ€.
Theme Provider
μ€νμΌλ μ»΄ν¬λνΈμμ μ 곡λλ ThemeProviderλ λ΄λΆμ μΌλ‘ Context APIλ₯Ό μ¬μ©νμ¬ μμλ€μκ² ν λ§ λ°μ΄ν°λ₯Ό μ 곡νλ€.
ν
λ§ νμ
μ μΈ λ³ν©
μ€νμΌ μ»΄ν¬λνΈ νμ μ μ νμΌμ μ μΈλ ν λ§ μΈν°νμ΄μ€ νμ μ μ¬μ©μκ° λ§λ ν λ§μ νμ μΌλ‘ νμ₯νλ €λ©΄, μ μΈ λ³ν©μ μ¬μ©ν΄μΌ νλ€.
μ¬μ©μκ° μ μν ν λ§μμ μμΌλ‘ νμ μ μΆμΆν΄μ νμ₯νλ©΄ νΈ-νλ€.
styled.d.ts
styled.d.ts
νμ μμ±μ νμ₯νλ κ²μ μ μΈ λ³ν©(declaration merging)μ΄λΌ νλ€. κ°μ interfaceλ₯Ό μ¬μ μΈ ν¨μΌλ‘μ¨ νμ μμ±μ μΆκ°μν¬ μ μλ€. β 보κ°
.d.ts
λ TypeScriptμμ νμ
μ μ(type definition)λ₯Ό μν νμΌ νμ₯μ,
declare module
μ Typescriptμμ μΈλΆ λͺ¨λμ λν νμ
μ μΈμ μ 곡νλ ꡬ문
DarkMode ꡬννκΈ°
ν λ§λ₯Ό κ°μλΌμ°λ μμΌλ‘ λ€ν¬λͺ¨λλ₯Ό ꡬν κ°λ₯
useDarkTheme
useDarkTheme
jest 'window.matchMedia
' μ€λ₯
window.matchMedia
' μ€λ₯jestμμ μ¬μ©λλ jsdomμμ ꡬνλμ§ μμ λ©μλλ₯Ό μ¬μ©ν λ μ€λ₯λ₯Ό λ°μμν¨λ€.
μ΄ κ²½μ° λͺ¨νΉμ ν΅ν΄ ν΄κ²°μ΄ κ°λ₯νλ€
setupTests.ts
setupTests.ts
Last updated