React Query でデータの増分更新を実装するにはどうすればよいですか?

PHPz
リリース: 2023-09-28 16:46:41
オリジナル
937 人が閲覧しました

如何在 React Query 中实现数据的增量更新?

React Query でデータの増分更新を実装するにはどうすればよいですか?

前書き:
現代のフロントエンド開発では、データのリアルタイム更新が非常に重要な要件です。 React Query は、フロントエンド アプリケーションのデータを管理するためのシンプルかつ効率的な方法を提供する強力なデータ管理ライブラリです。 React Query を使用する場合、増分更新を実装する必要がある状況、つまりデータの新しく追加、変更、または削除された部分のみを更新する必要がある状況によく遭遇します。この記事では、React Query でこの機能を実装する方法を説明し、具体的なコード例を示します。

ステップ 1: React Query のインストールと構成

まず、React Query と関連する依存関係パッケージをインストールする必要があります。 npm または Yarn を使用してインストールできます:

npm install react-query axios
ログイン後にコピー

または

yarn add react-query axios
ログイン後にコピー

次に、アプリケーションのエントリ ファイル (通常はindex.js または App.js) で React Query を構成する必要があります。まず、ReactQueryClient コンポーネントと ReactQueryProvider コンポーネントをインポートします:

import { QueryClient, QueryClientProvider } from 'react-query';
ログイン後にコピー

次に、QueryClient インスタンスを作成し、QueryClientProvider コンポーネントでラップします:

const queryClient = new QueryClient();

ReactDOM.render(
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>,
  document.getElementById('root')
);
ログイン後にコピー

これで、React Query がインストールおよび構成され、準備が整いました。アプリケーションで使用してください。

ステップ 2: データ リクエストを定義する

次に、データ リクエストを定義する必要があります。人気の HTTP クライアント ライブラリである axios を使用してリクエストを送信できます。

最初に、axios をインポートします:

import axios from 'axios';
ログイン後にコピー

次に、データ ソースの URL を保存する apiUrl 変数を定義します:

const apiUrl = 'https://api.example.com/data';
ログイン後にコピー

次に、axios を使用して GET リクエストを送信します。データを取得するには:

const fetchData = async () => {
  const response = await axios.get(apiUrl);
  return response.data;
};
ログイン後にコピー

ステップ 3: React Query を使用してデータを取得します

これで、React Query の useQuery フックを使用してデータを取得できます。コンポーネントで useQuery フックを使用し、クエリ キーとデータ リクエスト関数を渡します。クエリ キーは、クエリを一意に識別する文字列です。データが変更されると、React Query はクエリ キーに基づいてデータを更新します。

import { useQuery } from 'react-query';

const MyComponent = () => {
  const { data, isLoading, error } = useQuery('data', fetchData);

  if (isLoading) {
    return <div>Loading...</div>;
  }

  if (error) {
    return <div>Error: {error.message}</div>;
  }

  return (
    <ul>
      {data.map((item) => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
};
ログイン後にコピー

上記のコードでは、「data」という名前のクエリ キーを使用してクエリを識別します。 fetchData 関数は、データ要求を開始するために使用されます。

ステップ 4: React Query を使用して増分更新を実装する

増分更新を実装するための鍵は、新しく追加、変更、または削除されたデータの一部のみを更新する方法です。 React Query では、queryClient.setQueryData() メソッドを使用してデータを手動で更新できます。

まず、コンポーネントで useMutation フックを使用して、データを更新するメソッドを定義する必要があります。

import { useMutation } from 'react-query';

const MyComponent = () => {
  const { data, isLoading, error } = useQuery('data', fetchData);
  const mutation = useMutation((updatedData) => {
    queryClient.setQueryData('data', updatedData);
  });

  const handleUpdateData = () => {
    const updatedData = // 在这里根据需要修改 data
    mutation.mutate(updatedData);
  };

  // ...其他代码

  return (
    <div>
      <button onClick={handleUpdateData}>Update Data</button>
    </div>
  );
};
ログイン後にコピー

上記のコードでは、useMutation フックを使用して突然変異メソッドを定義します。データをパラメータとして更新します。次に、queryClient.setQueryData() メソッドを使用して、更新されたデータを「data」クエリ キーに更新します。

最後に、mutation.mutate() メソッドを呼び出すことで、コンポーネント内で増分更新をトリガーできます。

概要:

上記の手順により、React Query でデータの増分更新を実現できます。まず、React Query をインストールして設定します。次に、データ要求関数とデータを更新するメソッドを定義します。最後に、コンポーネントで React Query フックを使用してデータを取得し、mutation.mutate() メソッドを呼び出して増分更新をトリガーします。このようにして、データのリアルタイム更新を実現し、アプリケーションのパフォーマンスとユーザー エクスペリエンスを向上させることができます。

注: コードを簡略化するために、上記の例では一部のエラー処理とコード構造の調整が省略されています。実際のアプリケーションでは、実際の状況に応じて適切な調整と処理を行う必要があります。

以上がReact Query でデータの増分更新を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!