# styled-components 사용해보기

예시)

// 버튼 만들기
let YellowBtn = styled.button`
  background : yellow;
  color : black;
  padding : 10px;
`

// 박스만들기
let Box = styled.div`
  backbround : grey;
  padding : 20px;
  
본문...

  <Box>
    <YellowBtn>버튼</YellowBtn>
  </Box>

응용

// 비슷한 컴포넌트 만들때 임의의 props를 생성 할 수도있다.
// ㄴ조건으로 정의가 가능하다
let YellowBtn = styled.button`
  background : ${ props => props.bg};
  color :  ${ props => props.bg == 'blue' ? 'white' : 'black'};
  padding : 10px;
`
// 상속도 가능하다
let NewBtn = styled.button(YellowBtn)`
  margin : 1px
`

본문...

  <YellowBtn bg='blue'>버튼</YellowBtn>

장점

  1. CSS 파일 오픈할 필요 없이 JS 파일에서 바로 스타일넣을 수 있다.

  2. 스타일이 다른 js파일로 오염되지 않음

  3. 페이지 로딩시간이 단축된다.

단점

  1. JS파일이 매우 복잡해진다.
  2. 스타일 재사용하기 위해서는 export해서 import해야한다. (더복해진다.
  3. 협업시 CSS 숙련도 이슈가 생길 수 있다.
#### cf) 파일 작명으로도 해결할 수 있다.

컴포먼트.js에만 적용하고 싶은 css파일을 만들고자한다면

컴포넌트명.module.css