6. Global Style

keyword

  • Reset CSS

  • box-sizing 속성

  • word-break 속성

  • Theme

  • ThemeProvider

Reset CSS

styled-reset 편하다.
import { Reset } from "styled-reset";

export default function App() {
  return (
    <>
      <Reset />
      <GlobalStyle />
      <Greeting />
    </>
  );
}

간편하게 reset과 global style을 잡아줄 수 있다.

Theme

디자인 시스템의 근간을 마련하는데 활용. 잘 정의하면 다크 모드 등에 대응하기 쉬움. 눈에 보이는 단편적인 정보를 넘어서, “의미”에 집중할 수 있게 됨.

일단 기본 Theme부터 정의.

props.theme을 활용

타입 문제를 해결하기 위해 styled.d.ts 파일 작성.

타입을 정의하고 defaultTheme을 맞추는 게 불편하니, 반대로 defaultTheme에서 타입을 추출하자.

타입 파일 변경

다른 theme을 추가할 때 Theme 타입을 사용. 항상 defaultTheme에 먼저 항목을 추가/삭제하고, 나머지를 여기에 맞추면 된다.

어떤 프로퍼티가 빠지고 추가됐는지 알 수 있다.

의미를 명확히 드러냈다면, 다크 모드를 지원하는 것도 쉽다.

Jest 테스트 쪽에서 “window.matchMedia” 문제 발생.

Last updated