Reactでのエラーハンドリング
-
server actionsのエラーハンドリング
- server
actionsでは入力値のバリデーションを行い、エラーメッセージを返す。
(zodなどのライブラリを用いても良いし、カスタマイズしても良いのかも)
-
レンダリングのエラーハンドリング
- 意図しないエラーで開発(dev mode)時などで発生する。
- 開発者向けのエラーで、本番では発生しない。
-
フェッチのエラーハンドリング
- ErrorBoundaryを使用して、fetch時に発生した際のエラーUIを表示する。
- 公式ではクラスコンポーネントとしてErrorBoundaryが書かれているが、ボイラーテンプレートなので、必ずクラスコンポーネントでないといけないわけでない。
- react error boundayライブラリを利用しても良いかもしれない。
意図したエラーだと、フォームのエラー。
意図しないエラーだとレンダリングやデータフェッチに起こるエラー。
ReactでUIを構築する際は上記のエラーをメンタルモデルとしてあると開発時に迷わない。
参照
Error Handling in React (Complete Tutorial)