React DOMコンポーネント

Reactは、ブラウザビルトインのすべてのHTMLおよびSVGコンポーネントをサポートしています。


共通コンポーネント

すべてのビルトインブラウザコンポーネントは、いくつかのpropsとイベントをサポートしています。

これには、refdangerouslySetInnerHTMLのようなReact固有のpropsが含まれます。


フォームコンポーネント

これらのビルトインブラウザコンポーネントは、ユーザー入力を受け付けます。

それらはReactにおいて特殊であり、value propを渡すと、制御されるようになります。


リソースとメタデータコンポーネント

これらのビルトインブラウザコンポーネントを使用すると、外部リソースの読み込みや、メタデータによるドキュメントの注釈付けを行うことができます。

それらはReactにおいて特殊であり、Reactはそれらをドキュメントヘッドにレンダリングしたり、リソースの読み込み中にサスペンドしたり、各コンポーネントのリファレンスページに記述されているその他の動作を実行することができます。


すべてのHTMLコンポーネント

Reactは、すべてのビルトインブラウザHTMLコンポーネントをサポートしています。これらには以下が含まれます。

注意

DOM標準と同様に、Reactはprop名にcamelCase表記規則を使用します。たとえば、tabindexではなくtabIndexと記述します。

カスタムHTML要素

ハイフンを含むタグ(例:<my-element>)をレンダリングする場合、ReactはカスタムHTML要素をレンダリングするものとみなします。Reactでは、カスタム要素のレンダリング方法は、組み込みブラウザタグのレンダリング方法とは異なります。

  • すべてのカスタム要素のプロップは文字列としてシリアル化され、常に属性を使用して設定されます。
  • カスタム要素はclassNameではなくclassを、htmlForではなくforを受け付けます。

is属性を持つ組み込みブラウザHTML要素も、カスタム要素として扱われます。

注意

今後のReactのバージョンでは、カスタム要素に対するより包括的なサポートが含まれる予定です。

Reactパッケージを最新の試験版にアップグレードして試すことができます。

  • react@experimental
  • react-dom@experimental

Reactの試験版にはバグが含まれている可能性があります。本番環境では使用しないでください。


すべてのSVGコンポーネント

Reactはすべての組み込みブラウザSVGコンポーネントをサポートしています。これには以下が含まれます。

注意

DOM標準と同様に、Reactはプロップ名にcamelCase表記規則を使用します。たとえば、tabindexではなくtabIndexと書きます。オンラインコンバーターを使用して、既存のSVGをJSXに変換できます。

名前空間属性もコロンなしで記述する必要があります。

  • xlink:actuatexlinkActuate になります。
  • xlink:arcrolexlinkArcrole になります。
  • xlink:hrefxlinkHref になります。
  • xlink:rolexlinkRole になります。
  • xlink:showxlinkShow になります。
  • xlink:titlexlinkTitle になります。
  • xlink:typexlinkType になります。
  • xml:basexmlBase になります。
  • xml:langxmlLang になります。
  • xml:spacexmlSpace になります。
  • xmlns:xlinkxmlnsXlink になります。