- まず、Reactのコンポーネント内でエラーハンドリングを行う必要があります。これには、
componentDidCatch
メソッドを使用します。コンポーネント内に以下のコードを追加してください。
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
componentDidCatch(error, info) {
this.setState({ hasError: true });
// エラーログの送信など、必要な処理を追加することもできます
}
render() {
if (this.state.hasError) {
// エラーが発生した場合に表示するコンテンツを指定します
return <img src="/path/to/404-image.png" alt="404 Not Found" />;
}
return this.props.children;
}
}
- エラーハンドリングが必要なコンポーネントで、
ErrorBoundary
コンポーネントを使用します。例えば、以下のように使用することができます。
class MyComponent extends React.Component {
render() {
return (
<ErrorBoundary>
{/* ここにコンポーネントのコードを追加 */}
</ErrorBoundary>
);
}
}
- 404エラーが発生した際に表示する画像は、
<img>
タグを使用して指定します。上記の例では、src
属性に/path/to/404-image.png
を指定しています。実際のパスは、プロジェクト内の適切な場所に置いた画像ファイルのパスに置き換えてください。
これで、Reactアプリケーション内で404エラーが発生した場合に、代替の画像を表示することができます。必要に応じて、エラーハンドリングの追加の処理や表示する画像のカスタマイズを行ってください。