関数型Reactコンポーネントでエラー境界をどのように活用できますか? 質問する

関数型Reactコンポーネントでエラー境界をどのように活用できますか? 質問する

できますクラスをエラー境界にするReact で を実装しますcomponentDidCatch

関数コンポーネントをクラスに変換せずにエラー境界にするクリーンな方法はありますか?

それともこれはコードの臭いでしょうか?

ベストアンサー1

v16.2.0 時点では、機能コンポーネントをエラー境界に変換する方法はありません。

Reactのドキュメントではその点が明確に述べられているただし、何度でも自由に再利用できます。

このメソッドは、コンポーネントに対してcomponentDidCatch()JavaScript ブロックのように機能します。catch {}エラー境界にできるのはクラス コンポーネントだけです。実際には、ほとんどの場合、エラー境界コンポーネントを 1 回宣言して、アプリケーション全体で使用する必要があります。

また、try/catchブロックはすべてのケースで機能するわけではない
階層の深いところにあるコンポーネントが更新を試み、失敗した場合、try/catch親の 1 つにあるブロックは機能しません。これは、必ずしも子と一緒に更新されるとは限らないためです。

おすすめ記事