⊗jsrtPmRtULD 31 of 47 menu

React Router-da yuklayici terefinden alinmis melumatlardan istifade

Kecen dersde biz anbardan loader vasitesile melumat almisdig. Bu melumatlardan istifade etmek ucun biz useLoaderData cenginden istifade edeceyik. Gelin root.jsx faylini aciq ve cengi importa elave edek:

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

Root funksiyasinda indi biz melumati products sabitine alaciq ve artiq onunla isleyeceyik. Əgər bizim her hansı mehsulumuz varsa, siyahi gosterilecek, yoxdursa, abzasda 'no products here ...' yazdiracagiq. nav teqinde biz indi standart sikl ile alinmis mehsullarin cedvelini yaradiriq. Her element Link komponentine qoyulacaq ve her birinin oz unvani olacaq (bu barəde sonra danışacagiq). Uygun olaraq, əgər mehsulun adi yoxdursa, standart olaraq 'Unnamed' gosterilecek. Beləliklə, yuxarida deyilenleri nezere alaraq, indi bizim Root funksiyasi ucun kod bele olacaq:

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> ); }

Əgər biz indi proqrami yenidən işe salib esas sehifeye baxsaq, goreceyik ki, yalniz 'no products here ...' yazılıb, çünki heç bir mehsul anbara helelik qoyulmayib.

Əvvəlki derslerin tapşırıqlarında yaratdığınız proqrami goturun. Dersin materiallarından istifadə edərək, yuklayicidan alinan telebelerle bagli melumatlarin gosterilmesini elave edin, dersde izah edildiyi kimi.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et