Tietojen lisääminen style-attribuuttiin objektista Reactissa

CSS-tyylejä elementeille voidaan lisätä myös style-attribuutin avulla. Tässä ja muutamassa seuraavassa oppitunnissa tarkastelemme inline-tyylittely -menetelmiä.

Nyt emme liitä styles.css-tiedostoa, vaan välitämme vastaavat arvot style-attribuuttiin objektina tyyleillä jokaiselle tagille, jotka me kirjoitamme suoraan komponenttitiedostoon.

Otetaan siis komponenttimme ilman CSS-tyylejä, jota teimme edellisellä oppitunnilla:

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

Luodaan tiedostossa App.js ennen return-komentoa objekti CSS-tyyleillä diville muuttujaan class1. Muista, että ominaisuuksien nimet kirjoitetaan tässä camelCase -notaatiolla, ja ominaisuuksien arvot tulee laittaa lainausmerkkeihin:

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

Lisätään nyt objekti class2 tyyleillä ensimmäiselle kappaleelle:

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

Objekti class3 tyyleillä toiselle kappaleelle:

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

Ja lopuksi class4 viimeiselle:

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

Nyt soveltaaksemme komponentissa CSS-tyylejä, käytämme style-attribuuttia. Ensimmäiselle kappaleelle meillä oli muuttuja class2, lähetetään se arvona:

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

Samalla tavalla lisätään tyylit objekteista muille tageille.

Tuloksena komponentin koodi näyttää seuraavalta:

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

Ota React-komponentti, jonka teit edellisen oppitunnin tehtävässä, luo objektit CSS-tyyleillä tageillesi, aseta ne vastaaviin style-attribuutteihin.