モバイル対応のコンポーネント
ライフサイクルフロー
constructor()
connectedCallback() および disconnectedCallback()
renderedCallback()
errorCallback()
errorCallback() は、Lightning Web Components 独自のフックです。これを実装すると、ツリー内のすべての下位コンポーネントのエラーを捕捉するエラー境界コンポーネントを作成できます。これは、下位のライフサイクルフックで発生したエラーや、HTML テンプレートでイベントハンドラが宣言されたときに発生したエラーを捕捉します。エラー境界コンポーネントをコーディングすると、スタック情報を記録し、代替ビューを表示して、発生した出来事と次に実行すべきアクションをユーザに通知できます。
作成したエラー境界コンポーネントは、アプリケーション全体で再利用できます。これらのエラー境界を定義する場所は、自分で決定します。アプリケーション全体をラップすることも、個々のコンポーネントごとにラップすることもできます。ほとんどの場合、ご使用のアーキテクチャは、その間のどこかに当てはまります。問題の発生をどこでユーザに通知するかについて考えます。
1<!-- boundary.html -->
2<template>
3 <template lwc:if={error}>
4 <error-view error={error} info={stack}></error-view>
5 </template>
6 <template lwc:else>
7 <healthy-view></healthy-view>
8 </template>
9</template>1// boundary.js
2import { LightningElement } from "lwc";
3export default class Boundary extends LightningElement {
4 error;
5 stack;
6 errorCallback(error, stack) {
7 this.error = error;
8 }
9}error 引数は JavaScript ネイティブエラーオブジェクト、stack 引数は文字列です。
テンプレートで、lwc:[if|elseif|else] を使用する必要はありません。たとえば、単一のコンポーネントテンプレートを定義するとします。このコンポーネントがエラーをスローした場合、フレームワークは、再表示時に errorCallback をコールして、コンポーネントをマウント解除します。
1<!-- boundary.html -->
2<template>
3 <my-one-and-only-view></my-one-and-only-view>
4</template>関連トピック
The Japanese Summer '24 guide is now live