RefreshView API ユーザエクスペリエンス
信頼性の高いコンテンツの更新は、基本的な Web ユーザエクスペリエンスに必須であり、ユーザまたはアプリケーションによる起動が可能です。
ユーザ起動による更新は、一般的に次のようなフローになります。
- Lightning Web コンポーネントに、コンポーネントに表示されるデータとそのソースを同期する処理を開始するためのボタン (またはその他のユーザインターフェースコントロール) が表示されます。
- ボタンをタップすると、ボタンコンポーネントが
RefreshEvent
イベントをディスパッチします。 - RefreshView API に登録されている最も近いレベルのコンテナコンポーネントが
RefreshEvent
を受け取り、その転送を停止します。 - コンポーネントの更新ハンドラが、適切なコンポーネントの更新処理を開始します。更新ハンドラは、スピナーの表示や計測の実行など、UI を更新するための準備を実行できます。
- ハンドラの下位コンポーネントが、公開されている API フックによって更新処理に加わります。更新ハンドラは、Salesforce 組織からデータを取得したり、表示されたデータを外部データソースと同期する別のタスクを実行したりする場合もあります。
- すべてのデータが同期され、画面上で更新されると、コンポーネント階層の更新が完了します。
アプリケーション起動による更新は、次のようなフローになります。
- アプリケーションが、データの同期状態を維持するために、ビューの更新が必要であると判定します。たとえば、更新が必要になるのは、期限切れセッションからの再認証の後や、モバイル UI での「プルして更新」アクションの後です。
- この時点から、更新のフローは、前述のユーザ起動による更新のフローと同様に実行できます。