React에서는 일반 CSS 파일을 만들어서 컴포넌트 내부에서 import './파일명.css' 형태로 불러오기만 하면 바로 사용할 수 있다.
즉, 기존 프로젝트에서 쓰던 CSS 그대로 사용 가능하며, 별도의 설정이나 CSS-in-JS 같은 특별한 문법 없이도 적용된다.
1) JSX와 스타일이 분리된다
.css 파일에만 작성하므로 컴포넌트 로직과 시각적 코드가 분리되어 구조가 단순해진다.2) 기존 CSS를 그래도 활용할 수 있다
3) 협업에 유리하다
4) 설정이 거의 필요 없다
1) 스타일이 컴포넌트에 스코프되지 않는다 (전역 적용)
Header.css에서 작성한 .p {} 규칙이 Header 컴포넌트뿐 아니라 프로젝트 내 모든 <p> 요소에 적용된다.2) 예측하기 어려운 스타일 상호작용
3) 전역 CSS의 특성을 그대로 갖는다
<head>에 합쳐져 전역 스타일로 동작한다.이 단점이 CSS Modules, CSS-in-JS 같은 대안이 등장한 핵심 이유다.