여러 사람이 같이 진행하는 프로젝트에서는 css를 적용할 때 서로 중복되는 classname을 사용해서 문제가 생기는 경우가 종종있다. 이를 방지하고자 1차 프로젝트에서는 CSS Module을 사용하여 고유한 값을 부여해서 중복되지 않도록 작업을 했고 2차 프로젝트는 styled-components를 사용했다. 처음 사용하는 라이브러리인만큼 프로젝트 초반에는 적응하는 시간이 좀 필요했다. styled-components의 사용이 익숙해지고 부터는 상황에 맞는 css 표현에 있어서 훨씬 간결하게 작성이 가능해졌다.
npm install --save styled-components
yarn add styled-components
위 명령어로 styled-components를 install 해준다.
import React, { Component } from 'react';
import styled from 'styled-components';
class App extends Component {
render() {
return (
<>
<Button>Hello</Button>
<Button inverted>Hello</Button>
</>
)
}
}
const Button = styled.button`
border-radius: 50px;
padding: 5px;
min-width: 120px;
color: white;
font-weight: 600;
cursor: pointer;
&:active,
&:focus {
outline: none;
}
background-color: ${props => (props.inverted ? 'red' : 'blue')}
`;
export default App;
styled-components를 사용할 component에서 import 시켜주고 사용하면 된다.