원래 HTML에서 `class` 속성은 공백으로 구분된 여러 개의 클래스 이름을 가질 수 있습니다. 예를 들면:
```html
...
```
React의 `className`도 마찬가지로 여러 개의 클래스 이름을 가질 수 있습니다. 위에서 제시한 방법은 React에서 여러 개의 클래스 이름을 가진 문자열을 생성하는 방법입니다.
예제로, `styles.diary_page`가 `"diary_page"`이고, `className`이 `"another_class"`라고 가정해봅시다. 이 두 클래스 이름을 합치기 위해 문자열 연결을 사용하여 최종적으로 `"diary_page another_class"`와 같은 형태의 문자열을 만들어야 합니다. 이렇게 만든 문자열을 `className`에 전달하면 React는 해당 요소에 두 클래스 이름을 모두 적용합니다.
`className`을 여러 개 설정하려면 문자열을 결합해야 합니다. 지금 작성하신 방식은 JavaScript의 쉼표 연산자를 사용한 것으로, 이는 첫 번째 표현식 (`styles.diary_page`)을 평가하고 그 결과를 무시한 후 두 번째 표현식 (`className`)의 결과를 반환합니다.
따라서, `className`에 두 개 이상의 스타일을 적용하려면 문자열을 결합해야 합니다. 문자열 템플릿이나 `+` 연산자를 사용하여 결합할 수 있습니다.
예시:
1. **문자열 템플릿을 사용하는 방법**:
```jsx
className={`${styles.diary_page} ${className}`}
```
2. **`+` 연산자를 사용하는 방법**:
```jsx
className={styles.diary_page + " " + className}
```
두 번째 방법은 조금 더 전통적인 방법입니다. 하지만 문자열 템플릿 (첫 번째 방법)은 ES6부터 도입된 JavaScript의 기능으로, 좀 더 명확하고 읽기 쉽습니다.
댓글
댓글 쓰기