styled-components 사용해 보기
styled-components?
javascript에서 css를 사용 할 수 있도록 도와주는 스타일링 프레임워크
✅ Component 단위로 스타일링 가능: 클래스명 중복 방지
✅ 조건부 스타일링: 컴포넌트의 props를 전달받아 사용 가능
✅ 확장 스타일링: 새로운 Component를 선언하는 것 뿐만 아니라, 기존의 Component에 스타일을 추가하는 것도 가능
✅ SASS의 중첩 스코프 규칙 사용 가능(모든 규칙 사용은 아님)
🟢 babel 설정
npm i -D @babel/core @babel/preset-env @babel/preset-react @babel/preset-typescript
🔵 styled-components 설치
npm i styled-components
🟣 .babelrc.js 생성 및 설정
module.exports = () => { return { presets: [ "@babel/preset-env", "@babel/preset-typescript", "@babel/preset-react", ], plugins: [ ["@babel/plugin-proposal-class-properties"], ["styled-components", { ssr: true }], //추가 ], }; };
🟡 사용해 보기 👇🏻
> 기본
/* /src/App.tsx */
import * as React from "react";
import styled from "styled-components";
function App() {
const Title = styled.h1`
font-size: 1.5em;
text-align: center;
color: palevioletred;
`;
return (
<div>
<Title>chaticker</Title>
</div>
);
}
export default App;
> 조건부 스타일링 - props
import * as React from "react";
import styled from "styled-components";
const Title = styled.h1`
font-size: 1.5em;
text-align: center;
background: ${(props) => (props.color ? props.color : "red")};
`;
function App() {
return (
<div>
<Title>chaticker</Title>
/* props 전달 */
<Title color="blue">chaticker</Title>
</div>
);
}
export default App;
> 확장 스타일링
import * as React from "react";
import styled from "styled-components";
const Title = styled.h1`
font-size: 1.5em;
text-align: center;
background: ${(props) => (props.color ? props.color : "red")};
`;
/* 기존 Title 스타일에 새로운 스타일 추가 */
const BlackTitle = styled(Title)`
background: black;
color: white;
`;
function App() {
return (
<div>
<Title>chaticker</Title>
<Title color="blue">chaticker</Title>
<BlackTitle>chaticker</BlackTitle>
</div>
);
}
export default App;
> 중첩 스코프
import * as React from "react";
import styled from "styled-components";
const BlackTitle = styled(Title)`
background: black;
color: white;
p {
color: red;
}
`;
function App() {
return (
<div>
<BlackTitle>
chaticker
<p>hi</p>
</BlackTitle>
</div>
);
}
export default App;
Author And Source
이 문제에 관하여(styled-components 사용해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chaticker/리액트에서-tailwindcss-styled-components-사용해보기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)