問題一覧に戻る
中級高度なパターン
問題62: エラーバウンダリ基礎
コンポーネントツリー内のエラーをキャッチしてフォールバックUIを表示するエラーバウンダリの実装を学びます。子コンポーネントで発生したエラーをキャッチし、アプリケーション全体のクラッシュを防ぎます。クラスコンポーネントでのみ利用可能で、getDerivedStateFromErrorでエラー状態を更新します。本番環境でのユーザー体験を向上させる重要な機能です。
import React, { Component } from 'react';
{/* エラーバウンダリクラス */}
class ErrorBoundary extends {
state = { hasError: false };
{/* エラーをキャッチ */}
static getDerivedStateFromError() {
return { : true };
}
render() {
if (this.state.hasError) return <h1>Error!</h1>;
{/* 子コンポーネントをレンダー */}
return this.props.;
}
}
function App() {
return (
<ErrorBoundary>
<div>{undefined.map()}</div>
</ErrorBoundary>
);
}
export default App;