Vkládání dat do atributu style z proměnných v Reactu
V minulé lekci jsme psali objekt přímo v
atributu style. Můžeme také
využít vkládání dat do tohoto objektu
z proměnných.
Vezměme náš React komponent bez CSS stylů:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
Nyní budeme vytvářet proměnné a přiřazovat jim hodnoty CSS vlastností. Začněme postupně se styly pro div.
V souboru komponentu před příkazem
return vytvoříme proměnnou
wd1 a přiřadíme jí hodnotu
'200px':
const wd1 = '200px';
Podobným způsobem vytvoříme proměnné pro všechny hodnoty vlastností našeho divu:
const wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';
Nyní přidáme proměnné pro první odstavec:
const co1 = 'orangered';
const fw1 = 'bold';
Pro druhý odstavec:
const fs1 = 'italic';
const co2 = 'brown';
A nakonec pro poslední. Zde
budou potřeba pouze dvě, ne tři
proměnné. Nemá smysl se opakovat,
protože hodnotu bold již máme
pro první odstavec:
const bco1 = 'orange';
const co3 = 'white';
A nyní dosadíme proměnné
s hodnotami stylů. Pojďme to
udělat pro první odstavec. Vložme
proměnné co1 a fw1
místo hodnot v objektu:
<p style = {{ color: co1, fontWeight: fw1 }}>
text
</p>
Podobným způsobem postupujme s ostatními tagy.
Výsledný kód našeho komponentu bude vypadat takto:
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>
);
}
Upravte kód řešení úlohy z minulé lekce tak, aby hodnoty CSS vlastností byly uloženy v proměnných.