React에서 객체를 사용하여 style 속성에 데이터 삽입하기
요소에 CSS 스타일을 추가하는 또 다른 방법은
style 속성을 사용하는 것입니다.
이 강의와 다음 몇 개의 강의에서 우리는
인라인 스타일링 방법들을 살펴볼 것입니다.
이제 우리는
styles.css 파일을 연결하지 않고,
각 태그에 대한 스타일을 가진 객체 형태로
style 속성에 해당 값을 전달할 것입니다.
이 객체들은 우리가 컴포넌트 파일 안에 바로 작성할 것입니다.
그럼, 지난 강의에서 만들었던 CSS 스타일이 없는 우리 컴포넌트를 가져옵시다:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
App.js 파일 안에서
return 명령문 앞에
class1 변수에 div에 대한 CSS 스타일을 가진 객체를
생성해 봅시다. 여기서 속성 이름은
camelCase
표기법으로 작성되고, 속성 값은
따옴표로 감싸야 한다는 것을 기억하세요:
const class1 = {
width: '200px',
border: '2px solid brown',
padding: '10px',
textAlign: 'center'
};
이제 첫 번째 단락에 대한 스타일을 가진
객체 class2를 추가합시다:
const class2 = {
color: 'orangered',
fontWeight: 'bold'
}
두 번째 단락에 대한 스타일을 가진
객체 class3:
const class3 = {
fontStyle: 'italic',
color: 'brown',
}
마지막으로 마지막 단락을 위한
class4:
const class4 = {
backgroundColor: 'orange',
fontWeight: 'bold',
color: 'white',
}
이제 컴포넌트에서 CSS 클래스를 적용하려면
style 속성을 사용합시다. 첫 번째 단락의 경우
우리에게는 class2 변수가 있었습니다.
이를 값으로 전달해 봅시다:
<p style={class2}>text</p>
비슷한 방식으로 나머지 태그에 대한 객체의 스타일을 추가합니다.
결과적으로, 컴포넌트의 코드는 다음과 같이 보일 것입니다:
function App() {
const class1 = {
width: '200px',
border: '2px solid brown',
padding: '10px',
textAlign: 'center',
};
const class2 = {
color: 'orangered',
fontWeight: 'bold',
};
const class3 = {
fontStyle: 'italic',
color: 'brown',
};
const class4 = {
backgroundColor: 'orange',
fontWeight: 'bold',
color: 'white',
};
return (
<div style={class1}>
<p style={class2}>text</p>
<p style={class3}>text</p>
<p style={class4}>text</p>
</div>
);
}
지난 강의의 문제에서 작업했던 React 컴포넌트를 가져와서,
여러분의 태그에 대한 CSS 스타일 객체를 생성하고,
해당하는 style 속성에 설정하세요.