⊗jsrtPmRtULD 31 of 47 menu

React Router'da Yükleyici Tarafından Alınan Verileri Kullanma

Önceki derste, bir depodan loader kullanarak veri aldık. Bu verileri kullanmak için useLoaderData kancasını (hook) kullanacağız. root.jsx dosyasını açalım ve kancayı içe aktarıma ekleyelim:

import { Outlet, Link, useLoaderData } from 'react-router-dom';

Root fonksiyonunda artık verileri products sabitine alacağız ve onunla çalışacağız. Eğer herhangi bir ürünümüz varsa, liste görünecek, yoksa 'no products here ...' ifadesini bir paragrafta göstereceğiz. nav etiketinde, alınan ürünleri listelemek için standart bir döngü kullanacağız. Her öğe, bir Link bileşeni içine sarılacak ve her birinin kendi adresi olacak (bunun hakkında daha sonra konuşacağız). Buna göre, eğer bir ürünün adı yoksa, varsayılan olarak 'Unnamed' görünecek. Yukarıdakileri dikkate alarak, Root fonksiyonu için kodumuz artık şu şekilde olacak:

function Root() { const { products } = useLoaderData(); return ( <div id="main"> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Unnamed</i>} </Link> ))} </nav> ) : ( <p><i>no products here ...</i></p> )} <div id="product"> <Outlet /> </div> </div> ); }

Eğer şimdi uygulamayı yeniden başlatıp ana sayfaya gidersek, sadece 'no products here ...' ifadesini göreceğiz, çünkü henüz depoya herhangi bir ürün koymadık.

Önceki derslerin ödevlerinde oluşturduğunuz uygulamayı alın. Derste anlatıldığı gibi, yükleyiciden alınan öğrenci verilerinin görüntülenmesini ders materyallerinden faydalanarak ekleyin.

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