[javascript] 컴포넌트 스타일링 방법: CSS 모듈, 스타일드 컴포넌트 등

웹 개발에서 컴포넌트 스타일링은 매우 중요합니다. 여러 가지 방법이 있지만, 가장 널리 사용되는 방법은 CSS 모듈스타일드 컴포넌트입니다. 각각의 장단점을 살펴보고 어떤 상황에서 어떤 방법을 선택해야 하는지 알아보겠습니다.

CSS 모듈

CSS 모듈은 각 컴포넌트마다 별도의 스타일을 만들어주는 방법입니다. 이를 통해 이름 충돌로 인한 스타일 오염을 방지할 수 있습니다. 예를 들어, App.js 파일에 다음과 같이 스타일을 정의할 수 있습니다.

/* App.module.css */

.button {
  color: red;
}

그리고 App.js 파일에서 해당 스타일을 불러와서 사용할 수 있습니다.

// App.js

import styles from './App.module.css';

const App = () => {
  return <button className={styles.button}>Click me</button>;
};

스타일드 컴포넌트

스타일드 컴포넌트는 JavaScript 파일 안에 스타일을 작성하는 방법입니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

// Button.js

import styled from 'styled-components';

const Button = styled.button`
  color: blue;
`;

export default Button;

어떤 방법을 선택해야 할까요?

CSS 모듈은 각각의 컴포넌트가 독립적으로 스타일을 갖기 때문에 유지보수가 쉽고, 클래스 이름 충돌을 방지할 수 있습니다. 반면에 스타일드 컴포넌트는 JavaScript 파일 안에 스타일을 작성하기 때문에 동적 스타일링이나 조건에 따라 스타일을 변경하는 것이 용이합니다.

따라서, 프로젝트의 규모나 특성에 따라 적합한 방법을 선택해야 합니다. 코드베이스의 일관성과 확장성을 고려하여 적합한 방법을 선택하는 것이 중요합니다.

참고문헌:

이상으로 컴포넌트 스타일링 방법에 대해 알아보았습니다. 감사합니다!