티스토리 뷰

Javascript/React

[React] 스타일링

daily-dev 2025. 3. 6. 21:39
반응형

인라인 스타일링

- 리액트에서 DOM 요소에 스타일을 적용할 때는 문자열 형태로 넣는 것이 아니라 객체 형태로 넣어 주어야 한다.

- 스타일 이름 중에서 background-color 처럼 - 문자가 포함되는 이름이 있는데, 이러한 이름은 - 제거하고 카멜 표기법으로 작성해야 한다. (backgroundColor)

 

import './App.css';

function App() {
    const name = '리액트';
    const style = {
        backgroundColor : 'black',
        color : 'aqua',
        fontSize: '48px',       // font-size -> fontSize
        fontWeight: 'bold',     // font-weight -> fontWeight
        padding: 16             // 단위 생략 시 px로 지정된다.
    };
    return <div style={style}>{name}</div>;
}
export default App;

 

- 위는 style 객체를 미리 선언하고 div의 style 값으로 지정했는데, 미리 선언하지 않고 바로 style 값을 지정하고 싶다면 다음과 같이 작성하면 된다.

 

import './App.css';
function App() {
    const name = '리액트';
    return <div style={{
        backgroundColor : 'black',
        color : 'aqua',
        fontSize: '48px',
        fontWeight: 'bold',
        padding: 16
    }}>{name}</div>;
}
export default App;

 

스타일링 결과

 

className

- 일반 HTML에서 CSS 클래스를 사용할 때는 <div class="myclass"></div> 같이 class라는 속성을 설정한다.

- 하지만 JSX에서는 class 아닌 className으로 설정해 주어야 한다.

 

- JSX 작성할 CSS 클래스를 설정하는 과정에서 className 아닌 class 값을 설정해도 스타일이

 적용되기는 한다. 그러나 그렇게 사용하면 브라우저 개발자 도구의 Console 탭에 다음과 같은 경고가 나타난다.

 

class 사용 시 나타나는 경고

 

- 이전에는 class CSS 클래스를 설정할 오류가 발생하고 CSS 클래스가 적용되지 않았는데, 리액트 v16 이상부터는 class classname으로 변환시켜 주고 경고를 띄운다.

반응형

'Javascript > React' 카테고리의 다른 글

[React] 리액트 state  (0) 2025.03.24
[React] 리액트 props  (0) 2025.03.13
[React] undefined 렌더링하지 않기  (0) 2025.03.06
[React] 조건부 연산자  (0) 2025.03.06
[React] JSX  (0) 2025.03.06
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함