React Query とデータベースを使用してデータ キャッシュの一貫性を実現する
フロントエンド アプリケーションがますます複雑になるにつれて、多くの場合、バックエンドと対話する必要があります。データ。アプリケーションのパフォーマンスとユーザー エクスペリエンスを向上させるために、通常、データ キャッシュを使用してネットワーク リクエストの数を減らします。ただし、データ キャッシュには、キャッシュされたデータとバックエンド データベースの一貫性をどのように維持するかという重要な疑問が生じます。この記事では、React Query とデータベースを活用してデータ キャッシュの一貫性を実現する方法を説明し、具体的なコード例を示します。
React Query は優れたデータ キャッシュおよび状態管理ライブラリであり、データ キャッシュと同期の問題を簡単に処理するのに役立ちます。この記事では、React Query を使用してユーザー リスト データをキャッシュし、キャッシュされたデータがデータベース内のデータと一致していることを確認します。
まず、React Query をインストールする必要があります:
npm install react-query
その後、コードの記述を開始できます。 React Query を使用してユーザー リスト データをキャッシュする方法を示す簡単な例を次に示します。
import { QueryClient, QueryClientProvider, useQuery } from 'react-query'; const queryClient = new QueryClient(); const fetchUsers = async () => { const response = await fetch('/api/users'); const data = await response.json(); return data; } const UserList = () => { const { data } = useQuery('users', fetchUsers); return ( <ul> {data.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); } const App = () => { return ( <QueryClientProvider client={queryClient}> <UserList /> </QueryClientProvider> ); } export default App;
上記のコードでは、useQuery
フック関数を使用してキャッシュまたはバックエンド ユーザーからデータを取得しています。リストデータ。 useQuery
関数の最初のパラメータは、キャッシュされたデータのキー名を識別するために使用される文字列です。後続のリクエストでは、別のネットワークリクエストを行う代わりに、同じキー名を使用してキャッシュされたデータを取得できます。
同時に、ネットワーク リクエストを通じてユーザー リスト データを取得する fetchUsers
という名前の関数を定義しました。この関数は最初のレンダリング時にトリガーされてデータを取得し、キャッシュを自動的に更新します。
次に、キャッシュされたデータとバックエンド データベースの一貫性を確保する必要があります。この目標を達成するには、React Query の refetch
メソッドを使用してデータ更新を手動でトリガーします。以下に例を示します。
import { useQueryClient } from 'react-query'; const UserList = () => { const queryClient = useQueryClient(); const { data } = useQuery('users', fetchUsers); const handleUpdate = async () => { // 手动触发数据更新 await queryClient.refetchQueries('users'); } return ( <div> <ul> {data.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> <button onClick={handleUpdate}>更新数据</button> </div> ); }
上記のコードでは、まず useQueryClient
フック関数を使用して QueryClient
インスタンスを取得します。次に、queryClient.refetchQueries
メソッドを呼び出してデータの更新を手動でトリガーする handleUpdate
関数を定義します。最後に、ユーザー リストの下にボタンを追加しました。ボタンをクリックすると、handleUpdate
関数が呼び出され、バックエンドから最新のデータを取得します。
上記の方法により、フロントエンド データ キャッシュとバックエンド データベース間の一貫性を実現できます。データ更新を手動でトリガーすると、React Query は自動的にネットワーク リクエストを送信し、キャッシュ内のデータを更新します。
要約すると、React Query とデータベースを使用してデータ キャッシュの一貫性を実現することは、アプリケーションのパフォーマンスを維持しながら正確で最新のデータを確保できる効率的な方法です。 React Query が提供する機能を適切に使用することで、データのキャッシュと同期の問題を簡単に処理でき、アプリケーションのユーザー エクスペリエンスを向上させることができます。
この記事が、データ キャッシュの一貫性を実現するための React Query とデータベースの使用方法を理解し、習得するのに役立つことを願っています。フロントエンド開発でのさらなる成功をお祈りしています。
以上がReact クエリとデータベースを活用してデータ キャッシュの一貫性を確保するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。