Infoga data i style-attributet från variabler i React

I föregående lektion skrev vi objektet direkt i attributet style. Vi kan också använda oss av datainsättning i detta objekt från variabler.

Låt oss ta vår React-komponent utan CSS-stilar:

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

Nu ska vi skapa variabler och tilldela dem värden för CSS-egenskaper. Låt oss börja i ordning med stilarna för div:en.

I komponentfilen före kommandot return skapar vi variabeln wd1 och tilldelar den värdet '200px':

App.jsconst wd1 = '200px';

På liknande sätt skapar vi variabler för alla egenskapsvärden för vår div:

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

Nu lägger vi till variabler för det första stycket:

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

För det andra stycket:

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

Och slutligen för det sista. Här behövs bara två, inte tre variabler. Det finns ingen idé att upprepa, eftersom värdet bold vi redan har för det första stycket:

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

Och nu ska vi ersätta variablerna med stilvärdena. Låt oss göra detta för det första stycket. Vi sätter in variablerna co1 och fw1 istället för värdena i objektet:

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

På liknande sätt gör vi med de övriga taggarna.

Som ett resultat kommer vår komponentkod att se ut så här:

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

Modifiera koden för lösningen till uppgiften från förra lektionen så att värdena för CSS-egenskaper lagras i variabler.