Skip to content

Commit 60393a7

Browse files
authored
Error Capturing Caveats (#2486)
1 parent 9ea20dc commit 60393a7

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/api/options-lifecycle.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@
215215

216216
- `errrorCaptured` フックで `false` を返すと、エラーがそれ以上伝搬しないようにできます。これは要するに「このエラーは処理済みなので無視してください」ということです。このエラーに対して、追加の `errorCaptured` フックや `app.config.errorHandler` が呼び出されるのを防ぎます。
217217

218+
**エラーの捕捉に関する注意事項**
219+
220+
- 非同期の `setup()` 関数(トップレベルの `await` を持つ)を持つコンポーネントでは、たとえ `setup()` がエラーをスローしても、Vue は**常に**コンポーネントのテンプレートをレンダリングしようとします。これにより、レンダリング中にコンポーネントのテンプレートが失敗した `setup()` コンテキストの存在しないプロパティにアクセスしようとする可能性があるため、エラーが増える可能性があります。このようなコンポーネントのエラーを捕捉する場合は、失敗した非同期 `setup() `(常に最初に発生します)と失敗したレンダリング処理の両方からのエラーを処理できるように準備してください。
221+
222+
- <sup class="vt-badge" data-text="SSR only"></sup> `<Suspense>` の奥深くにある親コンポーネントでエラーになった子コンポーネントを置き換えると、SSR でハイドレーションミスマッチが発生します。その代わりに、子コンポーネントの `setup()` からスローされる可能性のあるロジックを別の関数に分離し、親コンポーネントの `setup()` の中で実行するようにしてください。これにより、実行プロセスを安全に `try/catch` し、実際の子コンポーネントをレンダリングする前に必要に応じて置き換えを行うことができます。
223+
218224
## renderTracked <sup class="vt-badge dev-only" /> {#rendertracked}
219225

220226
コンポーネントのレンダーエフェクトによってリアクティブな依存関係が追跡されたときに呼び出されます。

0 commit comments

Comments
 (0)