タイムアウト | ホスト名を解決できません | SalesforceSDKCore.RestClientError | リクエストに失敗しました
デバイスがオフラインの状態で、ホスト名エラーや SalesforceSDKCore.RestClientError などのネットワーク関連エラーを示す大きな赤いトーストメッセージが表示される場合があります。このエラーは通常、オフライン時に、すべてのコンポーネント、モジュール、レコードデータがキャッシュされているはずのページにアクセスした際に発生します。
テストハーネスを使用してデバッグする
LWC Offline Test Harness (以下、テストハーネス) は、軽量なテスト、デバッグ、および検証用のアプリケーションです。LWC Offline ベースのモバイルアプリで使用される Lightning Web コンポーネントのデバッグを可能にします。テストハーネスを使用すると、Salesforce 組織内の選択した SObject に対してクイックアクションを実行したり、コンポーネントの JavaScript をデバッグしたり、下書きや下書きキューの挙動を確認したりできます。
テストハーネスの使用方法の詳細については、「Develop Offline-Ready LWCs with the LWC Offline Test Harness」(LWC Offline Test Harness を使用したオフライン対応 LWC の開発)を参照してください。
テストハーネスアプリのダウンロードおよびインストール方法については、「Install the Test Harness App」(テストハーネスアプリのインストール) を参照してください。
テストハーネスアプリをインストールしたら、問題が発生しているクイックアクションを特定します。レコードに移動した際に赤いトーストメッセージが表示される場合、原因は .view クイックアクションである可能性が高くなります。
テストハーネスアプリのネットワークトレース機能を使用し、該当するクイックアクションをプライミングする際に発生するすべてのネットワークリクエストを記録してください。
プライミング時とナビゲーション時のネットワークリクエストを比較します。ナビゲーション時にのみ発生し、プライミング時には発生していないネットワークリクエストがある場合、プリフェッチャーが想定どおりに LWC をプライミングできていないことを示しています。
以下は、この問題の原因となり得る代表的なシナリオと、その対処方法です。
プリフェッチ時に private の @track 変数を使用しない
@wire 関数には、public プロパティのみを渡していることを確認してください。このルールは、@wire を使用した Apex 関数にも同様に適用されます。private プロパティがパラメータとして渡されている場合、該当する wired 関数はプリフェッチ中に呼び出されません。この問題は静的解析ツールによって検出できます。
また、@track 変数に依存した lightning-record-form の条件付きレンダリングが行われていないことを確認してください。
lightning-record-form のデータプリフェッチが @track 変数に依存している場合、プライミング時には一切プリフェッチされません。
プリフェッチ中に GraphQL が実行されない
GraphQL wire アダプターは、LWC でデータを取得する一般的な方法です。しかし、プリフェッチ中に GraphQL が実行されない問題が発生することがあります。
query および variables は、getter メソッド内で定義する必要があります。例)GraphQL のベストプラクティスに関するリソース。
クエリを実行するためのツール。
サブコンポーネントがプリフェッチされない
この問題が発生する理由や解決方法の詳細については、「How to correctly prime different subcomponents depending on object data」 (オブジェクトデータに応じて異なるサブコンポーネントを正しくプライミングするには) の Quip ドキュメントを参照してください。
レコードタイプのデフォルト値を @wire で明示的に呼び出す
初期トリアージを実施した後に追加で発生しているネットワークリクエストが /ui-api/record-defaults のみである場合、<lightning-record-edit-form> によってプリフェッチされるデフォルト値が、実際にページ表示で使用されているレコードタイプと一致していないことが原因である可能性が高くなります。
// 注意:データグラフがプリフェッチ時に正しく解決されるように、リテラル値を使用します。
@wire(getRecordCreateDefaults, { objectApiName:STOREVISIT, recordTypeId:"0122M0000013L8FQAU" })
scheduledRecordDefaults;002370792

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.