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:
function 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:
const 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:
const class2 = {
color: 'orangered',
fontWeight: 'bold'
}
Objektet class3 med
stilarter til det andet afsnit:
const class3 = {
fontStyle: 'italic',
color: 'brown',
}
Og endelig class4 til
det sidste:
const 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:
<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:
function 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>
);
}
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.