본격적으로 컴포넌트를 만들어 나가기 전에
css스타일을 리셋하고 글로벌로 사용할 값들을 정리했다.
스타일 관련 변수를 지정하는데는 두가지 방법이 있다.

css의 var()사용

: var 함수를 사용해 액세스
color: var(--blue) 의 형태로 사용

styled-components의 ThemeProvider 사용

: 리액트의 context API를 사용해 값을 하위 컴포넌트에 전달
color: ${({ theme }) => theme.color.blue}의 형태로 사용

어떤걸 사용하는게 나을지 고민스러움 전 바닐라 자바스크립트 프로젝트에서 SASS를 사용하면서 느꼈던 장점을 잘 가져갈 수 있는 방법을 선택하고 싶었다. SASS 사용시 느낀 장점?

  • 전역 변수 사용
  • 믹스인으로 조건문 활용
  • 네스팅 문법 사용

리액트에서는 SASS 사용을 잘 안하나? 왜?

그렇다면 어떤 방법을 가져가는게 맞을까?

SSR, CSR 측면 성능 측면 코드작성의 용이성 측면 (가독성)

css variable 사용 시 변화가 필요한 컴포넌트만 리렌더 시킬 수 있다.
ThemeProvider는 모든 컴포넌트가 리렌더된다.
https://epicreact.dev/css-variables/

패키지 설치

css 초기화를 위해 styled-reset도 함께 설치한다.

1
2
npm install --save styled-components
npm install styled-reset

GlobalStyles 파일 추가

src/styles 디렉토리에 GlobalStyles.ts 파일을 추가해
아래 내용을 넣

Leave a comment