⊗jsrtPmRtULD 31 of 47 menu

React Router-da yuklovchi tomonidan olingan ma'lumotlardan foydalanish

O'tgan darsda biz loader yordamida ma'lumotni ombordan oldik. Ushbu ma'lumotlardan foydalanish uchun biz useLoaderData hookidan foydalanamiz. Keling root.jsx faylini ochamiz va hookni import qilamiz:

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

Endi Root funksiyasida biz ma'lumotni products konstantasiga olamiz va shu bilan ishlaymiz. Agar bizda mahsulotlar bo'lsa, ro'yxat ko'rsatiladi, aks holda, 'no products here ...' satrini chiqaramiz. nav tegi ichida biz endi olinayotgan mahsulotlarni chiqarish uchun standart tsikldan foydalanamiz. Har bir element Link komponenti ichiga o'raladi va har birining manzili alohida bo'ladi (bu haqida keyinroq gapiramiz). Shunga ko'ra, agar mahsulotning nomi bo'lmasa, 'Unnamed' chiqadi. Yuqoridagilarni inobatga olgan holda, endi bizning Root funksiyasi uchun kod quyidagicha bo'ladi:

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

Agar biz hozir ilovani qayta ishga tushirsak va bosh sahifaga kirsak, faqat 'no products here ...' ni ko'ramiz, chunki biz hali omborga hech qanday mahsulot qo'ymaganmiz.

Oldingi darslar uchun topshiriqlarda yaratilgan ilovangizni oling. Dars materiallaridan foydalanib, yuklovchidan olingan studentlar ma'lumotlarini ko'rsatishni qo'shing, darsta tavsiflanganidek.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish