問題タブ [react-lazy-load]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
67 参照

reactjs - コンポーネント エラーと React.lazy エラーをエラー境界で区別する

React.lazy() 機能について質問があります。機能を開発していますが、ある時点で立ち往生しています。

私のシナリオ

私は私がいる場所にセットアップを持っています

  1. React.lazy() を使用して一連のコンポーネントを遅延してロードする
  2. サスペンスの上にエラー境界ラッパーを配置します。
  3. エラーが発生したときに表示されるエラー フォールバック UI コンポーネント ( ErrorFallbackToast) があります。

このようなもの(モック)に見えます

特定の種類のエラーに対してフォールバック ui を表示する必要があり、他のエラーに対しては表示しないというシナリオがあります。例えば

  1. コンポーネント内でエラーが発生した場合 (null ポインター エラーなど)、フォールバック UI を表示する必要があります。
  2. コンポーネントの遅延読み込み中に React.lazy() エラーが発生したためにエラーが発生した場合 (つまり、チャンク読み込みの失敗、またはネットワーク エラー)、フォールバック UI を表示すべきではありません。

問題

今のところ、React の遅延読み込み中にスローされたエラーとコンポーネントのランタイム エラーを区別する手段が見つかりません。私が望むものを達成する方法はありますか?

私は複数のエラー境界を使用することにオープンですが、マウント時に両方のエラーがスローされるため、私が望むものを達成することはできません. どんな助けでも大歓迎です。ありがとう !。