인라인 스타일
React 컴포넌트를 스타일링하는 방법 중 하나는 인라인 스타일을 사용하는 것입니다. 인라인 스타일은 HTML 요소의 style
속성에 직접 CSS를 작성하는 방법입니다. React에서는 객체 형태로 스타일을 지정하며, 이 방법은 동적 스타일링에 유용합니다. 여기서는 인라인 스타일의 기본 개념과 사용 방법을 구체적인 예 시와 함께 설명하겠습니다.
인라인 스타일의 기본 개념
인라인 스타일은 각 CSS 속성을 camelCase(카멜 표기법)로 작성하며, 값은 문자열로 지정합니다. 예를 들어, CSS의 background-color
는 인라인 스타일에서 backgroundColor
로 작성됩니다.
예시 코드
import React from 'react';
function StyledComponent() {
const divStyle = {
backgroundColor: 'lightblue',
padding: '20px',
borderRadius: '5px',
textAlign: 'center'
};
return (
<div style={divStyle}>
인라인 스타일로 꾸며진 컴포넌트입니다.
</div>
);
}
export default StyledComponent;
위 예시에서 divStyle
객체를 만들어 CSS 속성을 정의하고, style
속성에 해당 객체를 할당하여 스타일링했습니다.
인라인 스타일의 장점
- 동적 스타일링: JavaScript 변수나 상태에 따라 스타일을 동적으로 변경할 수 있습니다.
- 간편함: 작은 규모의 컴포넌트에 빠르게 스타일을 적용할 수 있습니다.
동적 스타일링 예시
import React, { useState } from 'react';
function DynamicStyledComponent() {
const [isActive, setIsActive] = useState(false);
const divStyle = {
backgroundColor: isActive ? 'lightgreen' : 'lightcoral',
padding: '20px',
borderRadius: '5px',
textAlign: 'center',
cursor: 'pointer'
};
return (
<div style={divStyle} onClick={() => setIsActive(!isActive)}>
{isActive ? '활성화됨' : '비활성화됨'}
</div>
);
}
export default DynamicStyledComponent;
이 예시에서는 isActive
상태에 따라 div
의 배경색이 변경됩니다. 클릭할 때마다 상태가 토글되며, 스타일도 함께 업데이트됩니다.
주의할 점
- CSS 클래스의 재사용성 부족: 인라인 스타일은 컴포넌트 내에서만 적용되므로, 여러 컴포넌트 간에 스타일을 재사용하기 어렵습니다.
- 오버라이드 문제: 인라인 스타일은 CSS 클래스보다 우선순위가 높기 때문에, 예상치 못한 스타일 오버라이드가 발생할 수 있습니다.