⊗jsrtPmRtGSP 35 of 47 menu

Puslapio duomenų įkėlimas pagal URL parametrus iš saugyklos React Router

Dabar galime pridėti produktus į mūsų programėlę. Paleiskite programėlę, pridėkite mygtuku porą produktų. Jei dabar spustelėsime pačius produktus sąraše, pamatysime, kad kiekvienas produktas kol kas turi tą patį statinį puslapį, juo mes ir užsiimsime šioje ir kitose pamokose.

Taip pat reikia atkreipti dėmesį į kitą dalyką. Apskritai, visas URL skirstomas į segmentus – tai URL dalys tarp simbolių /. Jūs tikriausiai pamenate, kad kurdami šią programėlę nurodėme kelią 'products/:productId', taigi :productId čia vadinamas dinaminiu segmentu. Prieš jį dedamas simbolis ':'. Reikšmės šiame segmente keisis, būtent jos pateka į URL parametrus (URL Params arba params), kurie perduodami įkėlėjui pagal tam tikrą raktą, mūsų atveju tai bus params.productId.

Pažvelkite į adreso juostą naršyklėje, kai spustelėjate produktus sąraše. Pamatysite, kad paskutinis segmentas adreso juostoje keičiasi, būtent šios reikšmės ir pateks į įkėlėją. O mūsų produktai saugykloje turi unikalų mūsų sugeneruotą id, tokiu būdu mums bus įkeliamas tas produktas, kurio mums reikia.

O dabar po nedidelio nukrypimo pagaliau pradėkime dirbti su produkto puslapiu, o konkrečiau – su duomenų įkėlimu iš saugyklos.

Pakartokime pažįstamą procesą. Pirmiausia forStorage.js failą pridėkime funkciją getProduct, skirtą konkrečio produkto duomenims gauti iš saugyklos pagal id. Čia mes jau perduosime į funkciją id ir, atitinkamai, jei produktas yra "package", tai jis bus rodomas be delsos:

export async function getProduct(id) { await someNetwork(`product:${id}`); }

Toliau mums reikia gauti produktų masyvą ir jame rasti mūsų produktą pagal perduotą id:

export async function getProduct(id) { await someNetwork(`product:${id}`); let products = await localforage.getItem('products'); let product = products.find((product) => product.id === id); return product ?? null; }

Paimkite programėlę, kurią sukūrėte užduotyse ankstesnėse pamokose. Naudodamiesi pamokos medžiaga, sukurkite forStorage.js funkciją getStudent, skirtą studento duomenims gauti pagal id.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti