React Query は、React アプリケーションの非同期データを管理および更新するための非常に人気のあるデータ管理ライブラリです。これは、クエリ、キャッシュ、プリフェッチ、その他の機能を含む、データを処理するためのシンプルかつ強力な方法を提供します。ただし、従来のデータベースと比較して、React Query はバックエンド データベースと直接通信しません。この問題を解決するには、React Query データベース プラグインを使用します。これは、コンテナ オーケストレーション ツールと深く統合して、バックエンド データベースとのシームレスな対話を実現できます。
この記事では、React Query データベース プラグインを使用してコンテナ オーケストレーション ツールと深く統合する方法を検討し、具体的なコード例を示します。
まず、React Query データベース プラグインをインストールする必要があります。 npm または Yarn を通じてインストールできます:
npm install react-query-database-plugin # 或者 yarn add react-query-database-plugin
インストールが完了したら、React Query を初期化し、データベース プラグインを構成に追加する必要があります。アプリケーションのエントリ ファイルで、これを実行できます。
import { QueryClient, QueryClientProvider } from 'react-query'; import { createDatabasePlugin } from 'react-query-database-plugin'; const queryClient = new QueryClient({ // 其他配置项 plugins: [ // 添加数据库插件 createDatabasePlugin({ // 配置数据库连接 // 这里可以使用的容器编排工具的环境变量 connection: process.env.DATABASE_URL, }), ], }); ReactDOM.render( <QueryClientProvider client={queryClient}> <App /> </QueryClientProvider>, document.getElementById('root') );
この例では、createDatabasePlugin
メソッドを使用してデータベース プラグインを作成し、それを React Query に渡します。 ##クエリクライアント。
connection パラメーターを使用してバックエンド データベースへの接続を構成することもできます。この例では、コンテナ オーケストレーション ツールの環境変数
DATABASE_URL を使用して接続情報を設定します。
useQuery フックと
useMutation フックを使用してデータベース操作を実行できます。一般的な例をいくつか示します。
import { useQuery, useMutation } from 'react-query'; // 查询用户信息 const useFetchUser = (userId) => { return useQuery(['user', userId], async () => { const response = await fetch(`/api/users/${userId}`); const data = await response.json(); return data; }); }; // 创建用户 const useCreateUser = () => { return useMutation(async (user) => { const response = await fetch(`/api/users`, { method: 'POST', body: JSON.stringify(user), }); const data = await response.json(); return data; }); }; // 更新用户信息 const useUpdateUser = () => { return useMutation(async (userId, updates) => { const response = await fetch(`/api/users/${userId}`, { method: 'PUT', body: JSON.stringify(updates), }); const data = await response.json(); return data; }); };
useQuery フックと
useMutation フックを使用してデータベース操作のロジックを定義します。キャッシュ内のユーザー データに関連付けられるように、クエリ キーのプレフィックスに識別子
'user' を追加していることに注意してください。このようにして、これらのフックが呼び出されるたびに、React Query は自動的にキャッシュ ロジックを処理し、必要に応じてバックエンド データベースと対話します。
import { useFetchUser, useCreateUser, useUpdateUser } from './hooks'; function UserProfile({ userId }) { const { data: user, isLoading, isError } = useFetchUser(userId); const createUser = useCreateUser(); const updateUser = useUpdateUser(); if (isLoading) { return <div>Loading...</div>; } if (isError) { return <div>Error!</div>; } return ( <div> <h1>{user.name}</h1> <p>{user.email}</p> <button onClick={() => updateUser.mutate(userId, { name: 'New Name' })}> Update Name </button> </div> ); }
useFetchUser フックを使用して、読み込みに基づいてユーザー データを取得します。ステータスとエラーステータスの対応するページをレンダリングします。また、
useCreateUser フックと
useUpdateUser フックを使用してユーザーの作成と更新を処理します。
以上がReact Query Database Plugin: コンテナ オーケストレーション ツールとの緊密な統合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。