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:
function 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':
const wd1 = '200px';
På samme måde opretter vi variabler for alle værdier af egenskaber for vores div:
const wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';
Nu tilføjer vi variabler for det første afsnit:
const co1 = 'orangered';
const fw1 = 'bold';
For det andet afsnit:
const 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:
const 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:
<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:
function 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>
);
}
Modificer koden til løsningen af opgaven fra den forrige lektion, så værdierne for CSS-egenskaber opbevares i variabler.