Indsæt data i style-attribut fra et objekt i React

CSS-stilarter til elementer kan også tilføjes ved hjælp af attributten style. I denne og flere efterfølgende lektioner vil vi undersøge metoder til inline-styling.

Denne gang vil vi ikke tilkoble filen styles.css, men vil overføre de tilsvarende værdier til attributten style i form af et objekt med stilarter for hver tag, som vi vil skrive direkte i komponentfilen.

Så lad os tage vores komponent uden CSS-stilarter, som vi lavede i den forrige lektion:

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

Lad os i filen App.js før kommandoen return oprette et objekt med CSS-stilarter til div'en i variablen class1. Husk, at egenskabsnavnene her skrives i camelCase notation, og egenskabsværdier skal sættes i anførselstegn:

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

Lad os nu tilføje objektet class2 med stilarter til det første afsnit:

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

Objektet class3 med stilarter til det andet afsnit:

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

Og endelig class4 til det sidste:

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

For nu at anvende CSS-klasserne i komponentet, bruger vi attributten style. Til det første afsnit havde vi variablen class2, lad os overføre den som værdi:

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

På samme måde tilføjer vi stilarter fra objekterne til de resterende tags.

Som resultat vil komponentkoden se sådan ud:

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

Tag React-komponenten, som du lavede i opgaven til den forrige lektion, opret objekter med CSS-stilarter til dine tags, indsæt dem i de tilsvarende attributter style.