⊗jsrtPmSyStC 103 of 112 menu

Styled Components를 이용한 React 스타일링

이전 강의에서 전역 CSS와 인라인 스타일링을 사용한 스타일링 기법을 살펴보았습니다. 이번 강의에서는 대규모 애플리케이션에 더 효율적인 접근 방식인 styled-components 라이브러리 사용을 다루겠습니다.

자, 이전 강의에서 사용했던 CSS 스타일이 없는 컴포넌트를 가져옵니다:

function App() { return ( <div> <p>text</p> <p>text</p> <p>text</p> </div> ); }

먼저, Styled Components 라이브러리를 설치합니다:

npm install --save styled-components

그런 다음 필요한 패키지를 App 컴포넌트로 가져옵니다:

import styled from 'styled-components';

이제 태그를 스타일로 감싸서 JS에 직접 포함된 스타일을 적용한 React 컴포넌트로 사용할 수 있습니다. 이런 접근 방식을 CSS in JS라고도 합니다.

첫 번째 단락을 스타일링해 봅시다. 이를 위해 App 함수 앞, import 문 뒤에 Text1 컴포넌트를 생성합니다. 라이브러리의 styled 객체에서 단락이 필요하므로 styled.p라고 작성합니다. 그런 다음 템플릿 문자열 안에 일반 CSS처럼 필요한 CSS 스타일을 나열합니다:

const Text1 = styled.p` color: orangered; font-weight: bold; `;

보시다시피, 여기서는 템플릿 문자열 형태의 순수 CSS를 사용하며, 이는 매우 편리합니다. 이와 유사하게 미디어 쿼리, 의사 요소, 선택자 및 기타 CSS 기능을 사용할 수 있습니다.

이제 App 컴포넌트 함수 내부에서 p 태그를 생성한 CSS 스타일이 적용된 컴포넌트 Text1로 바꿉니다:

<Text1>text</Text1>

비슷한 방식으로 두 번째 및 세 번째 단락을 스타일링합니다. 이를 위해 Text2Text3 컴포넌트를 생성합니다:

const Text2 = styled.p` font-style: italic; color: brown; `; const Text3 = styled.p` background-color: orange; font-weight: bold; color: white; `;

마지막으로, div를 스타일링합니다. 이를 위해 컴포넌트를 생성하고 Container라고 이름 붙입니다:

const Container = styled.div` width: 200px; border: 2px solid brown; padding: 10px; text-align: center; `;

모든 태그를 생성한 컴포넌트로 바꿉니다:

import styled from "styled-components"; const Container = styled.div` width: 200px; border: 2px solid brown; padding: 10px; text-align: center; `; const Text1 = styled.p` color: orangered; font-weight: bold; `; const Text2 = styled.p` font-style: italic; color: brown; `; const Text3 = styled.p` background-color: orange; font-weight: bold; color: white; `; function App() { return ( <Container> <Text1>text</Text1> <Text2>text</Text2> <Text3>text</Text3> </Container> ); }

이런 접근 방식을 통해 스타일이 적용된 재사용 가능한 컴포넌트를 만들 수 있습니다.

브라우저의 개발자 도구에서 생성된 마크업을 열어보면, 각 컴포넌트에 고유한 클래스가 생성된 것을 볼 수 있습니다. 따라서 이제 개별 컴포넌트의 클래스 간 충돌에 대해 걱정할 필요가 없습니다.

비슷한 방식으로, 예를 들어 Emotion과 같은 라이브러리를 사용하여 컴포넌트를 스타일링할 수 있습니다.

이전 강의의 과제에서 만들었던 React 컴포넌트를 가져와 Styled Components 라이브러리를 사용하여 스타일링하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부