⊗jsrtPmRtGSD 29 of 47 menu

Pobieranie danych z magazynu w React Router

Widzisz, że na razie nasza aplikacja jest statyczna. W tej i kolejnych lekcjach zaczniemy ją ożywiać. Już w najbliższych lekcjach będziemy mogli dodawać produkty do listy za pomocą React Router.

W tej lekcji, na początek, zajmiemy się pobieraniem danych z magazynu. Do lokalnego przechowywania danych będziemy używać magazynu localForage (możesz przeczytać o jego użyciu i zaletach w dokumentacji) - odpowiednik LocalStorage, który obsługują wszystkie nowoczesne przeglądarki. Faktycznie jest to połączenie kilku technologii magazynów. Przy stosunkowo łatwym użyciu, pozwala przechowywać duże ilości danych, i to różnych typów, w tym także obrazy. Zainstalujmy go w naszym projekcie. Wpisz w terminalu:

npm i localforage

Uruchommy ponownie naszą aplikację. W folderze src utworzymy plik forStorage.js, w którym będą funkcje do pracy z magazynem.

A więc, zaczniemy od funkcji ładowania produktów z magazynu. Dodajmy w forStorage.js import biblioteki i napiszmy funkcję getProducts do pobierania produktów:

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

Poniżej po kodzie funkcji dodamy również kod dla someNetwork, symulując opóźnienia sieci (do 0.7 sekundy) dla normalnej pracy funkcji. Jeśli nasz produkt jest "zbuforowany", to w funkcjach do pracy z magazynem nie będzie opóźnienia, jeśli nie, to będzie opóźnienie, zobaczysz dalej, jak to działa:

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

Weź aplikację, stworzoną przez ciebie w zadaniach do poprzednich lekcji. Zainstaluj w aplikacji magazyn localForage.

Korzystając z materiałów lekcji, utwórz plik forStorage.js i napisz w nim funkcję getStudents do pobierania danych studentów z magazynu.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć