Indsæt data i style-attributten fra variabler i React

I den forrige lektion skrev vi objektet direkte i attributten style. Vi kan også bruge indsættelse af data i dette objekt fra variabler.

Lad os tage vores React-komponent uden CSS-stile:

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

Nu skal vi oprette variabler og tildele dem værdier for CSS-egenskaber. Lad os starte i rækkefølge med stilene for div'en.

I komponentfilen før kommandoen return opretter vi variablen wd1 og tildeler den værdien '200px':

App.jsconst wd1 = '200px';

På samme måde opretter vi variabler for alle værdier af egenskaber for vores div:

App.jsconst wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';

Nu tilføjer vi variabler for det første afsnit:

App.jsconst co1 = 'orangered';
const fw1 = 'bold';

For det andet afsnit:

App.jsconst fs1 = 'italic';
const co2 = 'brown';

Og endelig for det sidste. Her behøves kun to, ikke tre variabler. Det giver ikke mening at gentage, da værdien bold allerede findes for det første afsnit:

App.jsconst bco1 = 'orange';
const co3 = 'white';

Og nu indsætter vi variablerne med stilværdierne. Lad os gøre det for det første afsnit. Vi indsætter variablerne co1 og fw1 i stedet for værdierne i objektet:

App.js<p style = {{ color: co1, fontWeight: fw1 }}>
  text
</p>

På samme måde gør vi med de resterende tags.

Som et resultat vil vores komponentkode se sådan ud:

App.jsfunction App() {
  const wd1 = '200px';
  const br1 = '2px solid brown';
  const pd1 = '10px';
  const ta1 = 'center';

  const co1 = 'orangered';
  const fw1 = 'bold';

  const fs1 = 'italic';
  const co2 = 'brown';
  
  const bco1 = 'orange';
  const co3 = 'white';

  return (
    <div style = {{
      width: wd1,
      border: br1,
      padding: pd1,
      textAlign: ta1 }}>
      <p style = {{ color: co1, fontWeight: fw1 }}>
        text
      </p>
      <p style = {{ fontStyle: fs1, color: co2 }}>
        text
      </p>
      <p style = {{ 
        backgroundColor: bco1,
        fontWeight: fw1,
        color: co3 }}>
        text
      </p>
    </div>
  );
}
Задание 1

Modificer koden til løsningen af opgaven fra den forrige lektion, så værdierne for CSS-egenskaber opbevares i variabler.