-
プロジェクトのセットアップ:
- Next.jsプロジェクトを作成します。
- 必要なパッケージをインストールします。次のコマンドを実行してください:
npm install react-redux @reduxjs/toolkit react-query
-
Redux Toolkitのセットアップ:
- Redux Toolkitを使用してReduxストアをセットアップします。詳細な手順は省略しますが、公式ドキュメントを参照してください。
-
Redux Toolkit Queryのセットアップ:
- Redux Toolkit Queryを使用するために、
createApi
関数を使用してAPIエンドポイントを作成します。例えば、api.js
というファイルを作成して以下のようなコードを書きます:import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; export const api = createApi({ reducerPath: 'api', baseQuery: fetchBaseQuery({ baseUrl: '/api' }), // APIのベースURLを指定します endpoints: (builder) => ({ // エンドポイントを定義します getUsers: builder.query({ query: () => 'users', }), }), }); export const { useGetUsersQuery } = api;
- Redux Toolkit Queryを使用するために、
-
コンポーネントでの使用:
useGetUsersQuery
フックを使用してデータをフェッチします。以下に例を示します:import { useGetUsersQuery } from './api'; function UsersList() { const { data, error, isLoading } = useGetUsersQuery(); 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> ); } export default UsersList;
-
クライアントサイドキャッシュの使用:
- Redux Toolkit Queryはデフォルトでクライアントサイドキャッシュを提供します。データの取得や更新後に自動的にキャッシュされ、再フェッチを行わずにデータを取得できます。
-
オプティミスティックアップデートの使用:
- Redux Toolkit Queryはオプティミスティックアップデートをサポートしています。つまり、データの更新リクエストを送信する前に、楽観的な更新を行い、即座にUIを反映させることができます。
このようにして、Next.jsプロジェクトでRedux Toolkit Queryを使用することができます。これにより、簡潔でパフォーマンスの高いデータフェッチを実現できます。詳細な設定や使用方法については、公式ドキュメントを参照してください。