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:
function 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':
const wd1 = '200px';
På liknande sätt skapar vi variabler för alla egenskapsvärden för vår div:
const 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:
const co1 = 'orangered';
const fw1 = 'bold';
För det andra stycket:
const 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:
const 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:
<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:
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>
);
}
Modifiera koden för lösningen till uppgiften från förra lektionen så att värdena för CSS-egenskaper lagras i variabler.