⊗jsrtPmRtGSD 29 of 47 menu

React Routerでのストアからのデータ取得

現在、私たちのアプリケーションは静的な状態であることがわかります。 このレッスンと次のレッスンで、それを動的にしていきます。 早ければ次のレッスンで、React Routerを使用して商品リストに商品を追加できるようになるでしょう。

このレッスンでは、まずストアからのデータ取得について理解を深めます。 ローカルデータストレージには、localForageを使用します(その使用法と利点についてはドキュメンテーションで読むことができます) - これは、すべてのモダンブラウザでサポートされているLocalStorageの類似品です。 実際には、複数のストレージ技術を組み合わせたものです。 比較的簡単に使用できながら、大量のデータ、さらには画像を含むさまざまなタイプのデータを保存できます。 それでは、プロジェクトにインストールしましょう。ターミナルで以下を入力してください:

npm i localforage

アプリケーションを再起動しましょう。 フォルダsrcに、ストレージ操作用の関数を含むファイルforStorage.jsを作成します。

では、ストレージからの商品読み込み関数から始めましょう。 forStorage.jsにライブラリのインポートを追加し、商品を取得するための関数getProductsを書きましょう:

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

関数コードの後、以下の部分に、ネットワーク遅延(最大0.7秒)をシミュレートするためのsomeNetworkのコードも追加します。 これにより、ストレージ操作用関数が正常に動作します。 商品が「キャッシュ」されている場合、ストレージ操作用関数には遅延は発生しません。そうでない場合、遅延が発生します。後でその動作を確認できるでしょう:

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

これまでのレッスンの課題で作成したアプリケーションを使用してください。 アプリケーションにlocalForageストレージをインストールしてください。

レッスンの教材を参考に、ファイルforStorage.jsを作成し、その中にストレージから学生データを取得するための関数getStudentsを書いてください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否