この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Lightning データサービス

Lightning Data Service を使用すると、Apex コードを必要とせずに、コンポーネントでレコードの読み込み、作成、編集、削除ができます。Lightning データサービスは、共有ルールと項目レベルセキュリティを処理します。Salesforce データへのアクセスを簡素化するだけでなく、Lightning データサービスはパフォーマンスとユーザインターフェースの一貫性を改善します。

端的に言うと、Lightning データサービスは、Visualforce 標準コントローラの Lightning コンポーネントバージョンと考えることができます。こう言うと単純化しすぎですが、要点は伝わるでしょう。可能な場合は、Lightning データサービスを使用して、コンポーネントで Salesforce データの参照と変更を行います。

Lightning Data Service を使用したデータアクセスは、サーバ側の Apex コントローラを使用した同等の処理よりも簡単です。参照のみアクセスは、コンポーネントのマークアップ内ですべて宣言型にできます。データを変更するコードの場合、コンポーネントの JavaScript コントローラはほぼ同じ量のコードになり、Apex をすべてなくすことができます。データアクセスコードのすべてがコンポーネントに統合され、複雑さが大幅に緩和されます。

Lightning データサービスには、コード以外にも利点があります。非常に効率のよいローカルストレージ上に構築されます。このローカルストレージはそれを使用するすべてのコンポーネントで共有されます。Lightning データサービスに読み込まれたレコードはキャッシュされ、コンポーネント間で共有されます。

Lightning Web コンポーネントで Lightning データサービスを使用しますか? 『Lightning Web コンポーネント開発者ガイド』を参照してください。

メモ

同じレコードにアクセスするコンポーネントでは、パフォーマンスが大幅に改善されます。これはレコードが、それを使用するコンポーネントの数に関係なく 1 回だけ読み込まれるためです。共有レコードもユーザインターフェースの一貫性を高めます。あるコンポーネントがレコードを更新すると、そのレコードを使用する他のコンポーネントに通知され、ほとんどの場合は自動的に更新されます。

Lightning データサービスを使用するコンポーネントの作成

Lightning データサービスはいくつかの基本コンポーネントから使用できます。レコードを操作するフォームを作成するには、lightning:recordFormlightning:recordEditForm、または lightning:recordViewForm を使用します。これらのコンポーネントよりも複雑なカスタマイズが必要な場合は、force:recordData コンポーネントを検討してください。

フォームベースのコンポーネントを使用する利点は、レコード表示のニーズの多くを JavaScript なしでマークアップのみですべて実現できることです。フォームベースコンポーネントのもう一つのパワフルな機能は、項目レベルの入力規則を備えた自動項目マッピングです。フォームベースのコンポーネントは、項目を表示するための項目種別に適した基本コンポーネントを自動的に使用します。

force:recordData には UI 要素は含まれません。これは、単にロジックであり、サーバと通信するための方法です。Lightning データサービスを使用するコンポーネントは次の通りです。

lightning:recordForm
レコードの表示、作成、または編集
lightning:recordViewForm
lightning:outputField によるレコードの表示
lightning:recordEditForm
lightning:inputField によるレコードの作成または編集
force:recordData
詳細にカスタマイズされたレコードの表示、作成、編集、または削除