以下に、useEffectフックを使用して非同期処理を実装するシンプルで簡単な方法とコード例を示します。
import React, { useEffect } from 'react';
function MyComponent() {
useEffect(() => {
const fetchData = async () => {
try {
const response = await fetch('APIのエンドポイント');
const data = await response.json();
// データの処理や状態の更新などを行う
} catch (error) {
// エラーハンドリング
}
};
fetchData();
}, []); // 第2引数に空の配列を指定することで、マウント時のみ実行されるようになります
return (
<div>
{/* コンポーネントの表示 */}
</div>
);
}
export default MyComponent;
上記の例では、useEffect
の中で非同期のfetchData
関数を定義し、APIからデータを取得する非同期処理を行っています。fetch
関数はアクセスするAPIのエンドポイントを指定し、response.json()
でレスポンスデータを取得しています。
また、エラーハンドリングのためにtry-catch
文を使用しています。エラーが発生した場合は、適切に処理してください。
useEffect
の第2引数に空の配列[]
を指定することで、マウント時にのみuseEffect
が実行されるようになります。これにより、コンポーネントの再レンダリング時には再度非同期処理が走ることはありません。
以上がReactのuseEffect
フックを使用して非同期処理を実装する方法の一例です。この方法を活用することで、コンポーネントの初回レンダリング時や特定の状態変化時に非同期処理を実行することができます。