퍼블리싱
[React] 리액트에서 스타일을 적용하는 두 가지 방법
lionbum
2025. 5. 23. 10:25

리액트에서 스타일을 적용하는 방법은 크게 두 가지가 있습니다.
- JSX 내부에서 style 객체 사용하기
- 외부 CSS 파일을 만들어서 불러오기
//JSX 스타일 객체방식
<section style={styles.aboutSection}>
//외부 CSS 파일과 className
<section className="about-section">
1. JSX 내부에서 style 객체 사용하기
style={{ ... }} 또는 style={styles.이름} → JSX 안에서 직접 스타일을 작성
변환한 스타일 객체
const styles = {
aboutSection: {
padding: '2rem',
backgroundColor: '#fefefe',
border: '1px solid #ddd',
borderRadius: '8px',
marginTop: '2rem',
},
heading: {
color: 'red',
marginBottom: '1rem',
},
};
function About() {
return (
<section style={styles.aboutSection}>
<h2 style={styles.heading}>About Me</h2>
<p>....</p>
</section>
);
}
변환 규칙
- CSS 속성명은 kebab-case에서 camelCase로 변경
예: background-color → backgroundColor - 값이 단위를 가진 경우 문자열 ' ' 로 작성
예: '2rem', '1px solid #ddd' - 자식 요소 스타일은 별도의 스타일 객체로 분리
2. 외부 CSS 파일과 className 사용하기
리액트에서는 CSS 파일을 컴포넌트와 같은 폴더에 두고 관리할 수도 있습니다.
className="..." → 외부 CSS 파일을 사용할 때
폴더 구조
src/
├── components/
│ ├── About.jsx
│ └── About.css
About.css 파일 내용
.about-section {
padding: 2rem;
background-color: #fefefe;
border: 1px solid #ddd;
border-radius: 8px;
margin-top: 2rem;
}
.about-section h2 {
color: red;
margin-bottom: 1rem;
}
About.jsx 파일에서 CSS 임포트
import React from 'react';
import './About.css';
function About() {
return (
<div className="about-section">
<h2>About Title</h2>
{/* 내용 */}
</div>
);
}
export default About;
- CSS 파일을 import './About.css'; 구문으로 불러옵니다.
- 일반 CSS처럼 클래스 이름으로 스타일을 지정하면 됩니다.
언제 어떤 방식이 더 좋을까?
상황 | 추천방식 |
스타일이 재사용되거나 복잡함 | CSS 파일 (className) 사용 |
한 컴포넌트 안에서만 쓰는 간단한 스타일 | style 객체 사용 |
스타일 충돌을 피하고 싶음 | style 객체 or CSS Module |
728x90
반응형