データ キャッシュのマージに React Query とデータベースを使用する
はじめに:
現代のフロントエンド開発において、データ管理は非常に重要な部分です。パフォーマンスとユーザー エクスペリエンスを向上させるには、通常、サーバーから返されたデータをキャッシュし、ローカル データベース データとマージする必要があります。 React Query は、データのクエリ、キャッシュ、更新を処理するための強力な API を提供する、非常に人気のあるデータ キャッシュ ライブラリです。この記事では、React Query とデータベースを使用してデータ キャッシュをマージする方法を紹介し、具体的なコード例を示します。
ステップ 1: React Query をインストールして構成する
まず、React Query をインストールする必要があります。ターミナルを開いて次のコマンドを実行します:
npm install reverse-query
または
yarn add reverse-query
次に、プロジェクト内に React Query 構成ファイルを作成します。 React-query-config.js という名前のファイルを src ディレクトリに作成し、次の内容を追加します:
import { QueryClient, QueryClientProvider } from 'react-query';
const queryClient = new QueryClient();
export const QueryClientProviderWrapper = ({ Children }) => (
{children}
);
ここでは、queryClient という名前のインスタンスを作成し、それを QueryClientProvider コンポーネントに渡します。こうすることで、プロジェクト全体で React Query を使用できるようになります。
ステップ 2: データ API を作成する
次に、サーバー上のデータを取得して React Query にキャッシュするためのデータ API を作成する必要があります。 API が項目のリストを取得し、すべての項目を含む配列を返す getItems() メソッドを提供するとします。 src ディレクトリに api.js という名前のファイルを作成し、次の内容を追加します。
import { queryClient } from './react-query-config';
export const getItems = async ( ) =>gt; {
// サーバーからアイテムデータを取得
const response = await fetch('/api/items');
const data = await response.json();
// React Query にデータをキャッシュします
queryClient.setQueryData('items', data);
return data;
};
ここでは fetch() メソッドを使用します。サーバーからデータを取得し、queryClient.setQueryData() メソッドを使用してデータを React Query にキャッシュします。
ステップ 3: データベース API を作成する
次に、ローカル データベースからデータを取得するためのデータベース API を作成する必要があります。データベースが、データベース内の項目のリストを取得し、すべての項目を含む配列を返す getItemsFromDatabase() メソッドを提供しているとします。 src ディレクトリに database.js という名前のファイルを作成し、次の内容を追加します:
export const getItemsFromDatabase = () => {
// データベースから項目データを取得
const items = ...
return items;
};
実際のアプリケーションでは、使用するデータベースの種類と対応するライブラリに応じて getItemsFromDatabase() メソッドを実装する必要があります。
ステップ 4: データをマージする
これで、React Query とデータベース API を使用してデータをマージできます。このコンポーネントでは、 useQuery() フックを使用してデータを取得し、 useMutation() フックを使用してデータの更新を処理します。基本的なコンポーネントの例を次に示します。
import { useQuery, useMutation } from 'react-query';
import { getItems, getItemsFromDatabase } from './api';
const ItemsList = () => {
// useQuery フックを使用してデータを取得します
const { data:serverData } = useQuery('items', getItems);
const { data:databaseData } = useQuery( ' itemsFromDatabase', getItemsFromDatabase);
//データ更新を処理するには useMutation フックを使用します
const { mutate } = useMutation(() => {
// 在这里使用数据库API更新数据
});
// キャッシュ データとデータベース データをマージします
constmergedData = [...serverData, ...databaseData];
return (
<div> {mergedData.map((item) => ( <div key={item.id}>{item.name}</div> ))} </div>
);
} ;
ここでは、2 つの useQuery フックを使用して、サーバーとデータベースからそれぞれデータを取得します (クエリ キーとして 'items' と 'itemsFromDatabase' を渡します)。次に、useMutation フックを使用してデータの更新を処理します。最後に、キャッシュ データをデータベース データとマージし、コンポーネントに表示します。
概要:
データ キャッシュのマージに React Query とデータベースを使用すると、アプリケーションのパフォーマンスとユーザー エクスペリエンスを大幅に向上させることができます。この記事では、React Query をインストールして構成する方法、および React Query とデータベース API を使用してデータを取得および更新する方法を学びました。この記事がお役に立てば幸いです。ご質問がございましたら、お気軽にお問い合わせください。
以上がReact Query とデータベースを使用したデータ キャッシュのマージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。