React에서 객체를 사용하여 style 속성에 데이터 삽입하기

요소에 CSS 스타일을 추가하는 또 다른 방법은 style 속성을 사용하는 것입니다. 이 강의와 다음 몇 개의 강의에서 우리는 인라인 스타일링 방법들을 살펴볼 것입니다.

이제 우리는 styles.css 파일을 연결하지 않고, 각 태그에 대한 스타일을 가진 객체 형태로 style 속성에 해당 값을 전달할 것입니다. 이 객체들은 우리가 컴포넌트 파일 안에 바로 작성할 것입니다.

그럼, 지난 강의에서 만들었던 CSS 스타일이 없는 우리 컴포넌트를 가져옵시다:

App.jsfunction App() {
  return (
    <div>
      <p>text</p>
      <p>text</p>
      <p>text</p>
    </div>
  );
}

App.js 파일 안에서 return 명령문 앞에 class1 변수에 div에 대한 CSS 스타일을 가진 객체를 생성해 봅시다. 여기서 속성 이름은 camelCase 표기법으로 작성되고, 속성 값은 따옴표로 감싸야 한다는 것을 기억하세요:

App.jsconst class1 = {
  width: '200px',
  border: '2px solid brown',
  padding: '10px',
  textAlign: 'center'
};

이제 첫 번째 단락에 대한 스타일을 가진 객체 class2를 추가합시다:

App.jsconst class2 = {
  color: 'orangered',
  fontWeight: 'bold'
}

두 번째 단락에 대한 스타일을 가진 객체 class3:

App.jsconst class3 = {
  fontStyle: 'italic',
  color: 'brown',
}

마지막으로 마지막 단락을 위한 class4:

App.jsconst class4 = {
  backgroundColor: 'orange',
  fontWeight: 'bold',
  color: 'white',
}

이제 컴포넌트에서 CSS 클래스를 적용하려면 style 속성을 사용합시다. 첫 번째 단락의 경우 우리에게는 class2 변수가 있었습니다. 이를 값으로 전달해 봅시다:

App.js<p style={class2}>text</p>

비슷한 방식으로 나머지 태그에 대한 객체의 스타일을 추가합니다.

결과적으로, 컴포넌트의 코드는 다음과 같이 보일 것입니다:

App.jsfunction 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>
  );
}
Задание 1

지난 강의의 문제에서 작업했던 React 컴포넌트를 가져와서, 여러분의 태그에 대한 CSS 스타일 객체를 생성하고, 해당하는 style 속성에 설정하세요.