Değişkenlerden React'ta style özniteliğine veri ekleme
Önceki derste nesneyi doğrudan
style özniteliğine yazdık.
Ayrıca bu nesneye değişkenlerden
veri eklemesi de kullanabiliriz.
CSS stilleri olmayan React bileşenimizi alalım:
function App() {
return (
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
);
}
Şimdi değişkenler oluşturacağız ve onlara CSS özelliklerinin değerlerini atayacağız. Sırayla div için stillerle başlayalım.
Bileşen dosyasında
return komutundan önce
wd1 değişkenini oluşturalım
ve ona '200px' değerini
atalım:
const wd1 = '200px';
Benzer şekilde div'imizin tüm özellik değerleri için değişkenler oluşturalım:
const wd1 = '200px';
const br1 = '2px solid brown';
const pd1 = '10px';
const ta1 = 'center';
Şimdi ilk paragraf için değişkenleri ekleyelim:
const co1 = 'orangered';
const fw1 = 'bold';
İkinci paragraf için:
const fs1 = 'italic';
const co2 = 'brown';
Ve son olarak sonuncusu için. Burada
sadece iki değişkene ihtiyaç duyulacak,
üçe değil. Tekrarlamanın bir anlamı yok,
çünkü bold değeri zaten
ilk paragraf için mevcut:
const bco1 = 'orange';
const co3 = 'white';
Şimdi stil değerleri olan değişkenleri
yerleştireceğiz. Haydi, bunu ilk paragraf
için yapalım. co1 ve
fw1 değişkenlerini nesnedeki
değerlerin yerine ekleyelim:
<p style = {{ color: co1, fontWeight: fw1 }}>
text
</p>
Benzer şekilde geri kalan etiketlerle de yapalım.
Sonuç olarak bileşen kodumuz şöyle görünecek:
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>
);
}
Önceki dersin problem çözümüne ait kodu, CSS özelliklerinin değerleri değişkenlerde saklanacak şekilde değiştirin.