[React] Style-components

코딩쟝이·2023년 11월 9일
1

내배캠 TIL

목록 보기
23/63

Css-in-js (Style-components)

리액트에서 css를 다루는 방법으로는 첫번째는 스타일 자체를 컴포넌트로 만들어서 css를 입혀주는 방법이다. css-in-js의 라이브러리로 패키지 관리자를 통해 스타일 컴포넌트를 깔아줘야 한다.

// npm
npm install styled-components

// yarn 
yarn add styled-components
import styled from 'styled-components';
import TestPage from './TestPage';
import GlobalStyle from './GlobalStyle';

// CSS-in-JS: 자바스크립트로 CSS 코드를 작성하는 방식
// props를 통해서 [부모] -> [자식] 조건부 스타일링 가능
const StyleContainer = styled.div`
  display: flex;
`;

const StyleBox = styled.div`
  width: 100px;
  height: 100px;
  border: 1px solid ${(props) => props.borderColor};
  background-color: ${(props) => props.backgroundColor};
  margin: 20px;
`;

const StyleP = styled.p`
  color: blue;
`;

function App() {
  return (
    <>
      <StyleContainer>
        <StyleBox borderColor="orange" backgroundColor="lightpink">
          <StyleP>p태그</StyleP>
        </StyleBox>
        <StyleBox borderColor="blue" backgroundColor="lightblue">
          <StyleP>p태그</StyleP>
        </StyleBox>
        <StyleBox borderColor="violet" backgroundColor="lightgrey">
          <StyleP>p태그</StyleP>
        </StyleBox>
    </>
  );
}

export default App;

위의 예시코드처럼 컴포넌트 자체에 이름으로 스타일을 적용시킬 수 있다. vs코드에서 확장프로그램인 vscode-styled-components을 깔면 관련된 이름들을 자동완성 시켜준다.

profile
웹 프론트엔드 개발자를 꿈꾸고 있습니다!

0개의 댓글