React入門 練習問題 32:Reactの合成イベント(SyntheticEvent)
Reactのイベントハンドラに渡される「SyntheticEvent(合成イベント)」の説明として正しいものはどれか。
- ネイティブのブラウザイベントをラップしたReact固有のオブジェクトで、クロスブラウザ互換性を提供する。
- ブラウザのイベントを完全に無効化し、Reactの内部状態のみで仮想的なイベントを生成・処理する仕組みである。
- サーバーサイドで発生したイベントをクライアントに送信し、リアルタイムに画面を更新するための仕組みである。
- ユーザーがカスタマイズした独自のイベントオブジェクトを作成し、ブラウザの標準機能を拡張するためのものである。
- アプリケーション全体のパフォーマンスを最適化するため、不要なイベントリスナーを自動的に削除する機能である。
正解と解説を見る
正解:ネイティブのブラウザイベントをラップしたReact固有のオブジェクトで、クロスブラウザ互換性を提供する。
Reactのイベントハンドラに渡されるイベントオブジェクトは、ネイティブのブラウザイベントをラップした「SyntheticEvent(合成イベント)」と呼ばれるReact固有のオブジェクトです。
【正解の理由】
SyntheticEventは、ブラウザ間の実装の違いを吸収し、どのブラウザでも同じようにイベントを扱えるようにするクロスブラウザ互換性を提供します。
【不正解の理由】
• 「ブラウザのイベントを完全に無効化し、Reactの内部状態のみで仮想的なイベントを生成・処理する仕組みである」という説明は誤り
• 「サーバーサイドで発生したイベントをクライアントに送信し、リアルタイムに画面を更新するための仕組みである」という説明は誤り
• 「ユーザーがカスタマイズした独自のイベントオブジェクトを作成し、ブラウザの標準機能を拡張するためのものである」という説明は誤り
• 「アプリケーション全体のパフォーマンスを最適化するため、不要なイベントリスナーを自動的に削除する機能である」という説明は誤り