⊗jsrtPmRtGSD 29 of 47 menu

Datu iegūšana no krātuves React Router

Jūs redzat, ka pagaidām mūsu lietotne ir statiska. Šajā un nākamajās nodarbībās mēs sāksim to padarīt dinamiskāku. Jau tuvākajās nodarbībās mēs varēsim pievienot produktus sarakstam, izmantojot React Router.

Šajā nodarbībā mēs, iesākumam, izpratīsimies ar datu iegūšanu no krātuves. Lokālai datu glabāšanai mēs izmantosim krātuvi localForage (jūs varat izlasīt par tās izmantošanu un priekšrocībām dokumentācijā) - analogs LocalStorage, ko atbalsta visi mūsdienu pārlūkprogrammas. Faktiski tas ir vairāku krātuves tehnoloģiju apvienojums. Ar salīdzinoši vieglu izmantošanu, tas ļauj glabāt lielus datu apjomus, un dažāda veida, tostarp arī attēlus. Instalēsim to mūsu projektā. Ierakstiet terminālī:

npm i localforage

Pārstartēsim mūsu lietotni. Mapē src mēs izveidosim failu forStorage.js, kurā būs funkcijas darbam ar krātuvi.

Tātad, sāksim ar funkciju produktu ielādei no krātuves. Pievienosim forStorage.js bibliotēkas importu un uzrakstīsim funkciju getProducts produktu iegūšanai:

import localforage from 'localforage'; export async function getProducts() { await someNetwork(); let products = await localforage.getItem('products'); if (!products) products = []; return products; }

Zemāk aiz funkcijas koda mēs arī pievienosim kodu funkcijai someNetwork, imitējot tīkla aizkaves (līdz 0.7 sekundēm) priekš normālas funkciju darbības. Ja mūsu produkts ir "kešots", tad funkcijās darbam ar krātuvi aizkaves nebūs, ja nav, tad būs aizkave, jūs redzēsiet turpmāk, kā tas strādā:

let someCache = {}; async function someNetwork(key) { if (!key) { someCache = {}; } if (someCache[key]) { return; } someCache[key] = true; return new Promise((res) => { setTimeout(res, Math.random() * 700); }); }

Paņemiet lietotni, ko izveidojāt uzdevumos iepriekšējām nodarbībām. Instalējiet lietotnē krātuvi localForage.

Izmantojot nodarbības materiālus, izveidojiet failu forStorage.js un ierakstiet tajā funkciju getStudents studentu datu iegūšanai no krātuves.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt