Önemli: Diğer yazılarımla direkt bağlantılı bir yazıdır. İlk olarak bu yazıdan okumaya başladıysanız, eğitim serisine kısaca bir göz atmanızı tavsiye ederim.
Merhabalar.
Bu yazımda props’un children özelliğine bakacağız.
Geliştirmekte olduğumuz projede ürün kartlarımız vardı. Şimdi şunu yapmak istiyorum, her ürün kartına standart bir reklam içeriği eklemek istiyorum. Bunu PropsItem içinde göndermek istiyorum ama direkt bir props olarak değil.
Normalde bir component’i çağırırken şöyle kullanıyordum.
<ProductItem />
Direkt içinde bir değer göndermek istersem, bu Component’i şöyle de kullanabilirdim.
<ProductItem> Xyz </ProductItem>
Hiçbir işlem yapmadan bunu böyle kullansak ekranda hiçbir yerde çıktısını göremeyiz. İşte bu props’un bir children’ıdır ve ilgili component’inde bu şekilde yakalanıp kullanılması gerekir.
Şimdi şöyle yapacağım görselimin altına internet sayfamın reklamını yerleştirmek istiyorum. Kodlarımızı vereyim üzerinden anlatıma devam edeyim.
import "./ProductCard.css";
import ProductItem from "./ProductItem";
import { productList } from "../Data/ProductItemData";
const ProductCard = () => {
return (
<div className="container">
<h1 className="heading">Ürün Kartları</h1>
<div className="card-container">
{
productList.map((product) => (
<ProductItem key={product.id} product={product}>muratbilginer.net</ProductItem>
))
}
</div>
</div>
);
};
export default ProductCard;
Aşağıdaki kodla muratbilginer.net’i bir children olarak gönderdim.
<ProductItem key={product.id} product={product}>muratbilginer.net</ProductItem>
const ProductItem = (props) => {
const product = props.product
return (
<div className="card">
<img src={product.image} alt={product.name} className="image" />
<p style={{ margin: '0' }}>{props.children}</p>
<h2 style={{ marginBottom: '10px' }}>{product.name}</h2>
<p style={{ margin: '0' }}>Kategori: {product.category}</p>
<p style={{ margin: '0' }}>Fiyat: {product.price} TL</p>
</div>
)
}
export default ProductItem
<p style={{ margin: '0' }}>{props.children}</p>
props zaten fonksiyon parametresi olarak alınmıştı. Burada img altına bir p etiketi koydum ve {props.children} diyerek ProductCard.jsx’de gönderilen değeri yakalayıp ekrana yazdırdım.
Sonuç olarak artık kartlarım altında site reklamım bulunmakta.
Basit bir örnekle gösterdim ama bu children kısmında istediğiniz her şeyi gönderebilirsiniz. Kullanım alanını daha geniş düşünebilirsiniz. Oraya hazır bir component yaptınız mesela onu da gönderebilirsiniz.
Bir sonraki yazımda görüşmek üzere.
Selamlar, bu yazımda Oly'nin 1 hafta boyunca olduğu GS iğnesi, yaşanan değişimleri anlatmaya çalışacağım. PCR…
Selamlar, bu yazımda Hemogram ve Biyokimya sonuçlarımızı göstermek için İÜCHH'ne tekrar gidişimizi ve sonrasını anlatacağım.…
Selamlar, bu yazımda GS iğnesine başlama kararımızı ve Oly’de bu süreçte nelere dikkat ediyor, neler…
Selamlar, bu yazımda İÜCHH'deki tedavi sürecimiz ve sonrasında yaşananlardan bahsetmeye çalışacağım. 20.06.2025 Cuma günü saat…
Eve Dönüş ve İlk Şüpheler 18 Haziran Perşembe saat 23 sularında İstanbul’daki evimize giriş yaptık.…
9 Haziran Pazartesi günü Aydın’daki sürecimiz bitti ve Antalya yolculuğumuz başladı. Saat 11 gibi yola…