4. styled-components
styled-components
강의 정리
styled-components
npm trends에서 가장 많은 사용률을 보여주는 styled-components에 대해 학습, 하나만 할 줄 알면 나머지도 비슷하다.
Babel Plugin을 SWC에서 쓸 수 있도록 설정 (SSR 지원등 공식 권장사항)
npm i styled-components
npm i -D @types/styled-components @swc/plugin-styled-components
{
"jsc": {
"experimental": {
"plugins": [
[
"@swc/plugin-styled-components",
{
"displayName": true,
"ssr": true
}
]
]
}
}
}
간단한 Styled Component 만들기.
import styled from 'styled-components';
const Paragraph = styled.p`
color: #00F;
`;
export default function Greeting() {
return (
<Paragraph>
Hello, world!
</Paragraph>
);
}
HTML 태그가 아닌, 기존 Styled Component에 스타일 입히기
import styled from 'styled-components';
const Paragraph = styled.p`
color: #00F;
`;
const BigParagraph = styled(Paragraph)`
font-size: 5rem;
`;
export default function Greeting() {
return (
<BigParagraph>
Hello, world!
</BigParagraph>
);
}
기존 컴포넌트에도 스타일을 입힐 수 있다. 다만, 기존 컴포넌트가 class를 잡아줘야 한다.
import styled from 'styled-components';
function HelloWorld({ className }: React.HTMLAttributes<HTMLElement>) {
return (
<p className={className}>
Hello, world!
</p>
);
}
const Greeting = styled(HelloWorld)`
color: #00F;
`;
export default Greeting;
Last updated