- 컴포넌트 스타일링하는 방법에는 3가지가 있다
- 스타일시트 사용
- inline style 적용
- CSS in JS
⇒ css 파일 만들어서 import
⇒ 동적으로 스타일이 바뀔 때 사용하면 좋음
⇒ JS로 CSS를 만드는 라이브러리 사용 (ex. emotion)
emotion
@emotion/react
(일반의존성),@emotion/babel-plugin
(개발의존성) 설치
styled Components
styled.셀렉터이름``
이나styled.셀렉터이름({})
안에 스타일 적용
⇒ 스타일이 적용된 컴포넌트가 생성 됨
- 셀렉터가 아닌 커스텀 컴포넌트가 들어가도 된다
- 스타일 컴포넌트에서
${}
를 이용해 표현식을 사용할 수 있다
- props또한 받을 수 있다 ⇒
{prop}
으로 접근
css props 사용하기
- 방법 2가지(Babel Preset, JSX Pragma) 가 있는데, create-react-app으로 만든 프로젝트는 JSX Pragma 방법을 사용해야 한다.
/** @jsxImportSource @emotion/react */
를 코드 맨 상단에 선언해줘야 함
- 인라인 ⇒ css 속성 안에
1-1.
{{}}
⇒ css import 필요x1-2.
css``
- css를 따로 선언
-
css``
이나css({})
에 스타일 적어준 후, jsx의 css 속성에 넣어줌
** 참고 **
- 속성 이름
- `` 안에 스타일 적용 ⇒ 대시 케이스
- {} 안에 스타일 적용 ⇒ 카멜 케이스
- vscode-styled-components 확장프로그램을 설치하면, `` 안에 코드들이 컬러가 생김