Adatok beszúrása a style attribútumba különálló fájlból Reactben
Nem kell stílusobjektumokat írnunk a komponens fájljába, mint az előző leckében, hanem létrehozhatunk egy külön fájlt a stílusobjektumainkkal és importálhatjuk azokat a kívánt komponensbe.
Tehát vegyük a komponensünket CSS stílusok nélkül:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
Hozzunk létre a src mappában
egy külön styles.js fájlt, amelyben
definiáljuk a stílusobjektumainkat:
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',
};
Ne felejtsük el a styles.js fájl alján
exportálni az objektumainkat egyetlen styles
objektumban:
export const styles = {
class1: class1,
class2: class2,
class3: class3,
class4: class4
};
Most importáljuk a styles objektumot
a komponensünkbe:
import { styles } from "./styles";
Most már alkalmazhatjuk a kívánt
CSS stílusobjektumot az általános styles
objektumból a címkéinkre. Alkalmazzuk
az első bekezdésre a class2 objektumból
a stílusokat:
<p style={styles.class2}>text</p>
Hasonló módon adjuk hozzá a többi objektumból származó stílusokat a fennmaradó címkékhez.
Ennek eredményeképpen a komponens kódja a következőképpen fog kinézni:
function App() {
return (
<div style={styles.class1}>
<p style={styles.class2}>text</p>
<p style={styles.class3}>text</p>
<p style={styles.class4}>text</p>
</div>
);
}
Vegyétek azt a React komponenst, amit
az előző lecke feladatában készítettetek. Hozzatok létre
egy külön styles.js fájlt, amelyben
CSS stílusobjektumok lesznek a címkéitekhez,
exportáljátok őket egy objektumként, majd alkalmazzátok
a stílusokat a React komponensetekre.