React でデータをキャッシュすると、同じデータを複数回フェッチする必要性が減り、パフォーマンスとユーザー エクスペリエンスが大幅に向上します。 React でデータ キャッシュを実装するためのいくつかのアプローチを次に示します。
ブラウザのローカル ストレージまたはセッション ストレージにデータをキャッシュできます:
const fetchData = async () => { const cachedData = localStorage.getItem('myData'); if (cachedData) { return JSON.parse(cachedData); } const response = await fetch('https://api.example.com/data'); const data = await response.json(); localStorage.setItem('myData', JSON.stringify(data)); return data; }; // Use it in your component useEffect(() => { const loadData = async () => { const data = await fetchData(); setData(data); }; loadData(); }, []);
JavaScript オブジェクトを使用して独自のキャッシュ メカニズムを実装し、一意のキーに基づいてデータを保存できます。
const cache = {}; const fetchData = async (key) => { if (cache[key]) { return cache[key]; } const response = await fetch(`https://api.example.com/data/${key}`); const data = await response.json(); cache[key] = data; // Cache the data return data; }; // Use it in your component useEffect(() => { const loadData = async () => { const data = await fetchData('myKey'); setData(data); }; loadData(); }, []);
より高度なキャッシュの場合、Service Worker を使用して API 応答をキャッシュし、キャッシュから直接提供できます。
フェッチしたデータから派生した計算データを扱う場合は、useMemo を使用して値をメモ化します。
const memoizedValue = useMemo(() => computeExpensiveValue(data), [data]);
データの鮮度、複雑さ、ユーザー エクスペリエンスなどの要素を考慮して、アプリケーションのニーズに最も適したキャッシュ戦略を選択してください。 React Query のようなライブラリを使用すると、キャッシュとデータのフェッチを簡素化できますが、手動の方法ではより詳細な制御が可能です。
以上がReact でのデータのキャッシュ: パフォーマンスとユーザー エクスペリエンスの向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。