React Query で分散データベース クエリを実装するにはどうすればよいですか?
アプリケーションが複雑になるにつれて、データ管理はますます困難になります。分散データベースは、この問題を解決する手段になります。 React Query は、データ クエリとキャッシュを効率的に処理するのに役立つ強力なデータ管理ライブラリです。
この記事では、React Query を使用して分散データベース クエリを実装する方法を紹介し、具体的なコード例を示します。
まず、React Query ライブラリをインストールする必要があります:
npm install react-query
次に、アプリケーションのルート コンポーネントに React Query Provider を設定できます:
import { QueryClient, QueryClientProvider } from 'react-query'; const queryClient = new QueryClient(); function App() { return ( <QueryClientProvider client={queryClient}> {/* 应用组件 */} </QueryClientProvider> ); }
React Query データクエリを実行する前に、データを取得するための API 関数を定義する必要があります。ユーザー リストを取得する getUsers
という名前の API 関数があるとします:
async function getUsers() { const response = await fetch('/api/users'); const data = await response.json(); return data; }
次に、React Query の useQuery
フックを使用してデータ クエリを実行できます:
import { useQuery } from 'react-query'; function UserList() { const { data, isLoading, error } = useQuery('users', getUsers); if (isLoading) { return <div>Loading...</div>; } if (error) { return <div>Error: {error.message}</div>; } return ( <ul> {data.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); }
上記の例では、useQuery
フックは、クエリのキーワードとして一意の文字列 users
を使用し、以前に定義された getUsers
Function に渡します。 React Query はデータを自動的にキャッシュし、必要に応じて更新します。
クエリ結果を並べ替えたりフィルタリングする必要がある場合は、React Query のクエリ キー パラメータを使用できます。たとえば、ユーザー名に基づいて並べ替える必要がある場合、クエリ キーを users?sortBy=name
:
function UserList() { const { data, isLoading, error } = useQuery('users?sortBy=name', getUsers); // ... }
に設定できます。その後、React Query の useMutation# を使用できます。 ##データ変更操作を実行するためのフック。ユーザー情報を更新するための
updateUser という名前の API 関数があるとします。
async function updateUser(userId, userData) { const response = await fetch(`/api/users/${userId}`, { method: 'PUT', body: JSON.stringify(userData) }); const data = await response.json(); return data; } function UserDetail({ userId }) { const { data, isLoading, error } = useQuery(['user', userId], () => getUsers(userId)); const mutation = useMutation(updatedData => updateUser(userId, updatedData)); const handleUpdate = async () => { const updatedData = { name: 'New Name' }; await mutation.mutateAsync(updatedData); }; if (isLoading) { return <div>Loading...</div>; } if (error) { return <div>Error: {error.message}</div>; } return ( <div> <p>Name: {data.name}</p> <button onClick={handleUpdate}>Update Name</button> </div> ); }
['user', userId] を使用し、
getUsers(userId) を使用して、特定のユーザーのデータを取得します。次に、
useMutation フックを使用して、ユーザー データを非同期的に更新するための
mutateAsync メソッドを含む
mutation という名前のオブジェクトを作成します。
以上がReact Query で分散データベース クエリを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。