Вмъкване на данни в атрибута style от променливи в React
В предишния урок писахме обект директно в
атрибута style. Можем също така
да използваме вмъкване на данни в този обект
от променливи.
Нека вземем нашия React компонент без CSS стилове:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
Сега ще създаваме променливи и ще им присвояваме стойности на CSS свойства. Да започнем по ред със стиловете за div.
Във файла на компонента преди командата
return ще създадем променлива
wd1 и ще й присвоим стойност
'200px':
const wd1 = '200px';
По подобен начин ще създадем променливи за всички стойности на свойствата на нашия div:
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';
И накрая, за последния. Тук
ще са необходими само две, а не три
променливи. Няма смисъл да се повтаряме,
тъй като стойността bold вече
я има за първия параграф:
const bco1 = 'orange';
const co3 = 'white';
А сега ще заместим променливите
със стойностите на стиловете. Нека
направим това за първия параграф. Вмъкваме
променливите co1 и fw1
вместо стойностите в обекта:
<p style = {{ color: co1, fontWeight: fw1 }}>
text
</p>
По подобен начин ще постъпим с останалите тагове.
В резултат на това нашия код на компонента ще изглежда така:
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>
);
}
Модифицирайте кода на решението на задачата от предишния урок така, че стойностите на CSS свойствата да се съхраняват в променливи.