Wstawianie danych do atrybutu style z obiektu w React

Style CSS do elementów można również dodawać za pomocą atrybutu style. W tej i kilku kolejnych lekcjach przyjrzymy się metodom stylowania inline.

Teraz nie będziemy podłączać pliku styles.css, a przekażemy odpowiednie wartości do atrybutu style w postaci obiektu ze stylami dla każdego tagu, które będziemy pisać bezpośrednio w pliku komponentu.

Weźmy więc nasz komponent bez stylów CSS, który robiliśmy w poprzedniej lekcji:

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

Stwórzmy w pliku App.js przed poleceniem return obiekt ze stylami CSS dla diva w zmiennej class1. Pamiętaj, że nazwy właściwości tutaj pisze się w camelCase notacji, a wartości właściwości należy ująć w cudzysłów:

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

Teraz dodajmy obiekt class2 ze stylami dla pierwszego akapitu:

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

Obiekt class3 ze stylami dla drugiego akapitu:

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

I wreszcie class4 dla ostatniego:

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

Teraz, aby zastosować w komponencie klasy CSS, użyjemy atrybutu style. Dla pierwszego akapitu mieliśmy zmienną class2, przekażmy ją jako wartość:

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

W podobny sposób dodajmy style z obiektów dla pozostałych tagów.

W rezultacie kod komponentu będzie wyglądać następująco:

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

Weź komponent React, który robiłeś w zadaniu do poprzedniej lekcji, stwórz obiekty ze stylami CSS do swoich tagów, umieść je w odpowiednich atrybutach style.