⊗jsrxPmRDPP 21 of 57 menu

Redux'ta Ürün Sayfası

Bu derste, belirli bir ürün için bilgi çıktısı almak üzere ayrı bir sayfa yapacağız.

Ürün uygulamamızı açalım ve products klasöründe ProductPage.jsx dosyasını oluşturalım. Hatırlayacağınız gibi, her bir ürünümüzün benzersiz bir id'si var. Bu id sayesinde her bir ürün için benzersiz bir URL oluşturabileceğiz. Geleneksel olarak şöyle görünecek: /products/id123. Ve id, onun dinamik kısmında yer alacak (rotanın kendisiyle biraz sonra ilgileneceğiz).

Pekala, haydi ProductPage.jsx dosyasında boş bir ProductPage bileşeni oluşturalım:

export const ProductPage = () => {}

Burada yapacağımız ilk şey, bulunduğumuz ürün sayfasının dinamik URL kısmını almak için useParams kancasını kullanmak olacak:

export const ProductPage = () => { let params = useParams() const { productId } = params }

Sonrasında, elde edilen id'yi kullanarak, store içindeki products diliminde aşina olduğumuz useSelector kancasını kullanarak gerekli ürünü arayacağız:

const product = useSelector((state) => state.products.find((product) => product.id === productId) )

Her iki kancayı da dosyaya içe aktarmayı unutmayalım:

import { useSelector } from 'react-redux' import { useParams } from 'react-router-dom'

Eğer ihtiyacımız olan ürün bulunamazsa (örneğin, kullanıcı yanlış bir adres girdiyse), ekrana bununla ilgili bilgi çıktısı vereceğiz. Bu adımda, ProductPage bileşeni için kod şöyle görünmelidir:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>Böyle bir ürün yok</p> } }

Ve geriye kalan, sadece elde edilen ürün verilerini biçimlendirmede çıktılamak:

return ( <div> <h2>{product.name}</h2> <p>Açıklama: {product.desc}</p> <p>Fiyat: {product.price}</p> <p>Miktar: {product.amount}</p> </div> )

Öğrenci uygulamanızı açın. students klasöründe, seçilen öğrenciye ait bilgileri alıp çıktılayacağınız StudentPage.jsx dosyasını oluşturun.

react-redux kancası useSelector'ü kullanarak derste gösterildiği gibi öğrenci hakkında gerekli bilgileri alın.

Bileşende, elde edilen öğrenci bilgilerini ekrana çıktılayın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet