【Salesforce 認定Platformデベロッパー】試験対策:第169問

問題

searchTermを指定してAccountsのリストを返すApexメソッドgetAccountsは、Lightning Webコンポーネントで使用できます。getAccountsメソッドを使用するLightning Webコンポーネントのプロパティの正しい定義は何ですか。

  • @wire(getAccounts, {searchTerm: ‘$searchTerm’})
    accoutList;
  • @wire(getAccounts, ‘$searchTerm’)
    accountList;
  • @AuraEnabled(getAccounts, {searchTerm: ‘$searchTerm’})
    accountList;
  • @AuraEnabled(getAccounts, ‘$searchTerm’)
    accountList;

正解

  • @wire(getAccounts, {searchTerm: ‘$searchTerm’})
    accoutList;
  • @wire(getAccounts, ‘$searchTerm’)
    accountList;
  • @AuraEnabled(getAccounts, {searchTerm: ‘$searchTerm’})
    accountList;
  • @AuraEnabled(getAccounts, ‘$searchTerm’)
    accountList;

解説

@wireは、Lightning Web Components (LWC) でSalesforceのデータやApexメソッドを簡単に取得するための特別な機能を提供するアノテーションです。このアノテーションを使うことで、データの取得が裏側で自動的に行われ、コンポーネントにデータが利用可能になると、それに応じてコンポーネントが更新されます。

@wire(データソースやApexメソッド, パラメータオブジェクト)
プロパティ名;
データソースやApexメソッド

取得したいデータのソースや呼び出したいApexメソッドを指定します。例えば、getAccountsというApexメソッドを呼び出す場合、この部分にそのメソッド名を指定します。

パラメータオブジェクト

メソッドやデータソースに渡す必要がある任意のパラメータをオブジェクトとして指定します。例えば、searchTermというパラメータを持つApexメソッドを呼び出す場合、{ searchTerm: '$searchTerm' }のように指定します。ここでの$searchTermは、コンポーネントのsearchTermプロパティを動的に参照しています。

プロパティ名

取得したデータを格納するためのプロパティ名を指定します。このプロパティは、データが取得されたときにそのデータを保持します。例えば、accountListという名前のプロパティを使用してデータを格納する場合、この部分にその名前を指定します。

総合すると、以下のような形になります。

@wire(getAccounts, { searchTerm: '$searchTerm' })
accountList;

このコードは、getAccountsというApexメソッドを呼び出し、searchTermというパラメータにコンポーネントのsearchTermプロパティの値を動的に渡して、取得したデータをaccountListというプロパティに格納するものです。

それぞれの選択肢の理由について説明します。

□ @wire(getAccounts, {searchTerm: ‘$searchTerm’}) accoutList;
これは正解です。@wireアノテーションを使用して、getAccountsというApexメソッドからデータを取得しています。searchTermという名前のパラメータに動的にコンポーネントのsearchTermプロパティの値を渡しています。そして、取得したデータはaccoutListというプロパティに格納されます。

□ @wire(getAccounts, ‘$searchTerm’) accountList;
これは不正解です。@wireアノテーションでパラメータを渡す際には、オブジェクト形式で指定する必要があります。

□ @AuraEnabled(getAccounts, {searchTerm: ‘$searchTerm’}) accountList;
これは不正解です。@AuraEnabledはApexクラスのメソッドをAuraコンポーネントやLWCで使用可能にするためのアノテーションです。しかし、LWC内でこのように直接使用することはできません。

□ @AuraEnabled(getAccounts, ‘$searchTerm’) accountList;
これは不正解です。@AuraEnabledアノテーションは、ApexメソッドをAuraコンポーネントやLWCで使用するためのものであり、LWC内でこのような形式で使用することはできません。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 アドミニストレーター
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次