. css-in-JS라는 새로운 패러다임
에 가장 각광받는 Library
이다.
npm install --save styled-components
Component가 Unmount 되면 css styling이 memory를 차지하지 않아 성능상의 장점이 있다.
자동으로 className이 생성되므로 다른 component의 className과 충동날 가능성이 없다.
import styled from "styled-components";
를 선언한다.import styled from 'styled-components'
render(
<div>
<Button>Normal Button</Button>
<TomatoAnchorButton>Tomato Button</TomatoAnchorButton>
</div>
);
// html 태그 이름 뒤 Tagged Templete 문법을 활용해 CSS 속성을 정의한다.
const Button = styled.div`
color: palevioletred;
font-size: 1em;
margin: 1em;
padding: 0.25em 1em;
border: 2px solid palevioletred;
border-radius: 3px;
`;
// Button의 속성을 상속 받아 새로운 anchor 태그를 생성할 수도 있다.
const TomatoAnchorButton = styled(Button.withComponent("a"))`
color: tomato;
border-color: tomato;
`;