まず、Axiosをインストールする必要があります。プロジェクトのルートディレクトリで、以下のコマンドを実行してください:
npm install axios
または
yarn add axios
Axiosがインストールされたら、共通のコードを作成します。一般的なアプローチは、Axiosのインスタンスを作成し、共通の設定やヘッダーを設定することです。以下は、共通コードの例です:
// axiosInstance.js
import axios from 'axios';
const axiosInstance = axios.create({
baseURL: 'https://api.example.com', // ベースURLを設定する
timeout: 5000, // リクエストのタイムアウトを設定する
headers: {
'Content-Type': 'application/json', // リクエストのコンテンツタイプを設定する
// 他の共通のヘッダーがあればここに追加する
},
});
export default axiosInstance;
上記のコードでは、axios.create()
を使用してAxiosのインスタンスを作成し、共通の設定を指定しています。baseURL
では、リクエストのベースURLを指定します。timeout
では、リクエストがタイムアウトするまでの時間をミリ秒単位で指定します。headers
では、共通のヘッダーを設定します。例として、JSON形式のコンテンツタイプを指定しています。
共通のコードを使用する場合は、以下のようにAxiosのインスタンスをインポートしてリクエストを行うことができます:
// ExampleComponent.js
import React, { useEffect } from 'react';
import axiosInstance from './axiosInstance';
const ExampleComponent = () => {
useEffect(() => {
const fetchData = async () => {
try {
const response = await axiosInstance.get('/data'); // 共通のコードを使用してリクエストを行う
console.log(response.data);
} catch (error) {
console.error(error);
}
};
fetchData();
}, []);
return (
<div>
{/* コンポーネントの内容 */}
</div>
);
};
export default ExampleComponent;
上記の例では、axiosInstance
をインポートして使用しています。共通のコードが適用され、axiosInstance.get()
を使用してリクエストを行っています。
以上がReactでAxiosの共通コードを実装する方法の例です。これにより、複数のコンポーネントで同じ設定やヘッダーを再度指定する必要がなくなります。