Lightning Web コンポーネントのカスタムイベントに当てはまる 2 つの特性はどれですか? 2つの回答を選択してください
正解:B,C
Option B:Custom events in LWC allow data to be passed using thedetailproperty of theCustomEventobject. This is the recommended way to pass data in a custom event. Reference:Custom Events in LWC Option C:By default, custom events propagate to their immediate parent and child components. Additional propagation can be managed using thecomposedandbubblesproperties. Reference:Event Propagation in LWC
最新のコメント (最新のコメントはトップにあります。)
suisei - 2025-11-23
正:B,D
generativeAI - 2025-11-22
正解は **B** と **D** です。
[cite\_start]提供されたドキュメントの「コンポーネント間のデータの受け渡し」セクション [cite: 1782] および Lightning Web Components の標準仕様に基づき解説します。
最新のコメント (最新のコメントはトップにあります。)
正:B,D
正解は **B** と **D** です。
[cite\_start]提供されたドキュメントの「コンポーネント間のデータの受け渡し」セクション [cite: 1782] および Lightning Web Components の標準仕様に基づき解説します。
### 正解の解説
**B. データは、detail というプロパティを使用してカスタム イベントのペイロードに渡される場合があります。**
* **解説:** LWC でカスタムイベントを作成する際、親に渡したいデータ(ペイロード)は、`CustomEvent` コンストラクタの第2引数にある **`detail`** プロパティに格納する必要があります。
* **コード例:**
```javascript
// 子コンポーネント (Child.js)
const myData = { id: 123, name: 'Test' };
const event = new CustomEvent('select', {
detail: myData // ここにデータを入れる
});
this.dispatchEvent(event);
```
**D. デフォルトでは、カスタム イベントはその直下のコンテナーにのみ伝播します。**
* **解説:** `CustomEvent` のデフォルト設定では、`bubbles` 属性は `false`、`composed` 属性も `false` です。
* これにより、イベントは **「直上の親(コンテナ)」** でのみリッスン可能となり、それより上の階層(祖父母など)には伝播しません。DOM ツリーを駆け上がるには `bubbles: true` などの設定が必要です。
-----
### 不正解の解説
**A. @wire で装飾されたプロパティを使用して...**
* これは **不正解** です。
* `@wire` は Salesforce のデータ(レコードや Apex の結果)をコンポーネントに **「読み込む (Read)」** ために使用するデコレータです。イベントに乗せてデータを **「送る (Send)」** ためのものではありません。
**C. ...直下のコンテナーと直下の子コンポーネントにのみ伝播します。**
* これは **不正解** です。
* [cite\_start]イベントは **「下から上へ (Child to Parent)」** 伝わります。子コンポーネント(下)に向かってイベントが伝播することはありません。下への通信はプロパティ(`@api`)を使用します [cite: 1782]。
### 💡 学習のポイント
**LWC イベントの鉄則:**
1. データは **`detail`** に入れる。
2. デフォルトでは **「隣の親」** までしか届かない(Shadow DOM の境界を越えない)。...