⊗jsrtPmRtGLDP 36 of 47 menu

React Router дар URL параметрҳо бо роҳи Loader маълумотҳоро ба даст овардан

Дар дарси гузашта мо барои ба даст овардани маълумоти саҳифаи маҳсул функсия навиштем, биёед getProduct-ро дар файли product.jsx ворид кунем:

import { getProduct } from '../forStorage';

Функсияи loader-и loader-ро баъд аз воридот ва пеш аз функсияи Product нависед. URL параметрҳоро ба он интиқол диҳед:

export async function loader({ params }) { const product = await getProduct(params.productId); return { product }; }

Ҳамчунин ҳуки useLoaderData-ро барои истифодаи маълумоти гирифташуда аз loader ворид кунем:

import { useLoaderData } from 'react-router-dom';

useLoaderData-ро истифода баред, мувофиқан сатри сохтани объекти product дар оғози функсияи Product-ро бо ин иваз кунед:

const { product } = useLoaderData();

Ва, албатта, верстаи худро як каме тағир диҳед, зеро мо объекти куҳнаи product-ро нест кардем. Мундариҷаи абзацҳоро иваз кунед:

<p>Ном: {product.name}</p> <p>Нарх: {product.cost}</p> <p>Миқдор: {product.amount}</p>

Ба ин:

<p>Ном: {product.name ? product.name : <i>бе ном</i>}</p> <p>Нарх: {product.cost ? product.cost : <i>номаълум</i>}</p> <p>Миқдор: {product.amount ? product.amount : <i>номаълум</i>}</p>

Ба мо дар main.jsx боқӣ монд loader-ро ворид кунед, онро productLoader номгузорӣ кунем:

import Product, { loader as productLoader, } from './routes/product';

Ва онро ҳамчун loader барои объекти масири саҳифаи маҳсул нависед, онро ба children пас аз хосияти element илова кунед:

children: [ { path: 'products/:productId', element: <Product />, loader: productLoader, }, ],

Ҳама чиз, мо бо боркунии маълумот барои саҳифаи маҳсул кор кардем! Рост, ҳоло бор кардан чизе надорем. Барномаро оғоз кунед, маҳсулотҳоро илова кунед ва дар рӯйхат бар онҳо клик кунед, то боварӣ ҳосил кунед, ки ҳама чиз кор мекунад.

Барномаеро, ки шумо дар вазифаҳои дарсҳои гузашта сохтаед, гиред. Бо истифода аз моддаҳои дарс, loader-ро амалӣ кунед, онро пайваст кунед, маълумоти аз онро барои саҳифаи донишҷӯ истифода баред.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан