Spec-Zone.ru › React 18

Компоненты React DOM

React поддерживает все встроенные браузерные компоненты HTML и SVG.


Общие компоненты

Все встроенные браузерные компоненты поддерживают некоторые свойства и события.

  • Общие компоненты (например, <div>)

Это включает в себя специфические для React свойства, такие как ref и dangerouslySetInnerHTML.


Компоненты форм

Эти встроенные браузерные компоненты принимают пользовательский ввод:

  • <input>
  • <select>
  • <textarea>

Они особенны в React, потому что передача свойства value делает их управляемыми.


Компоненты ресурсов и метаданных

Эти встроенные браузерные компоненты позволяют загружать внешние ресурсы или добавлять метаданные в документ:

  • <link>
  • <meta>
  • <script>
  • <style>
  • <title>

Они особенны в React, потому что React может рендерить их в заголовок документа, приостанавливать выполнение во время загрузки ресурсов и выполнять другие действия, описанные на странице справки для каждого конкретного компонента.


Все HTML-компоненты

React поддерживает все встроенные браузерные HTML-компоненты. Это включает:

  • <aside>
  • <audio>
  • <b>
  • <base>
  • <bdi>
  • <bdo>
  • <blockquote>
  • <body>
  • <br>
  • <button>
  • <canvas>
  • <caption>
  • <cite>
  • <code>
  • <col>
  • <colgroup>
  • <data>
  • <datalist>
  • <dd>
  • <del>
  • <details>
  • <dfn>
  • <dialog>
  • <div>
  • <dl>
  • <dt>
  • <em>
  • <embed>
  • <fieldset>
  • <figcaption>
  • <figure>
  • <footer>
  • <form>
  • <h1>
  • <head>
  • <header>
  • <hgroup>
  • <hr>
  • <html>
  • <i>
  • <iframe>
  • <img>
  • <input>
  • <ins>
  • <kbd>
  • <label>
  • <legend>
  • <li>
  • <link>
  • <main>
  • <map>
  • <mark>
  • <menu>
  • <meta>
  • <meter>
  • <nav>
  • <noscript>
  • <object>
  • <ol>
  • <optgroup>
  • <option>
  • <output>
  • <p>
  • <picture>
  • <pre>
  • <progress>
  • <q>
  • <rp>
  • <rt>
  • <ruby>
  • <s>
  • <samp>
  • <script>
  • <section>
  • <select>
END_OF_DOCUMENT_MARKER
  • <slot>
  • <small>
  • <source>
  • <span>
  • <strong>
  • <style>
  • <sub>
  • <summary>
  • <sup>
  • <table>
  • <tbody>
  • <td>
  • <template>
  • <textarea>
  • <tfoot>
  • <th>
  • <thead>
  • <time>
  • <title>
  • <tr>
  • <track>
  • <u>
  • <ul>
  • <var>
  • <video>
  • <wbr>

Примечание

Аналогично стандарту DOM, React использует соглашение camelCase для имён свойств. Например, вы напишете tabIndex вместо tabindex. Вы можете преобразовать существующий HTML в JSX с помощью онлайн-конвертера.


Пользовательские HTML-элементы

Если вы отображаете тег с дефисом, например <my-element>, React предположит, что вы хотите отобразить пользовательский HTML-элемент. В React отображение пользовательских элементов отличается от отображения встроенных тегов браузера:

  • Все свойства пользовательских элементов сериализуются в строки и всегда устанавливаются с помощью атрибутов.
  • Пользовательские элементы принимают class вместо className, и for вместо htmlFor.

Если вы отображаете встроенный HTML-элемент браузера с атрибутом is, он также будет обрабатываться как пользовательский элемент.

Примечание

В будущих версиях React будет реализована более полная поддержка пользовательских элементов.

Вы можете попробовать это, обновив пакеты React до последней экспериментальной версии:

  • react@experimental
  • react-dom@experimental

Экспериментальные версии React могут содержать ошибки. Не используйте их в продакшене.


Все SVG-компоненты

React поддерживает все встроенные SVG-компоненты браузера. Включая:

  • <a>
  • <animate>
  • <animateMotion>
  • <animateTransform>
  • <circle>
  • <clipPath>
  • <defs>
  • <desc>
  • <discard>
  • <ellipse>
  • <feBlend>
  • <feColorMatrix>
  • <feComponentTransfer>
  • <feComposite>
  • <feConvolveMatrix>
  • <feDiffuseLighting>
  • <feDisplacementMap>
  • <feDistantLight>
  • <feDropShadow>
  • <feFlood>
  • <feFuncA>
  • <feFuncB>
  • <feFuncG>
  • <feFuncR>
  • <feGaussianBlur>
  • <feImage>
  • <feMerge>
  • <feMergeNode>
  • <feMorphology>
  • <feOffset>
  • <fePointLight>
  • <feSpecularLighting>
  • <feSpotLight>
  • <feTile>
  • <feTurbulence>
  • <filter>
  • <foreignObject>
  • <g>
  • <hatch>
  • <hatchpath>
  • <image>
  • <line>
  • <linearGradient>
  • <marker>
  • <mask>
  • <metadata>
  • <mpath>
  • <path>
  • <pattern>
  • <polygon>
  • <polyline>
  • <radialGradient>
  • <rect>
  • <script>
  • <set>
  • <stop>
  • <style>
  • <svg>
  • <switch>
  • <symbol>
  • <text>
  • <textPath>
  • <title>
  • <tspan>
  • <use>
  • <view>

Примечание

Аналогично стандарту DOM, React использует соглашение camelCase для имён свойств. Например, вы напишите tabIndex вместо tabindex. Вы можете преобразовать существующий SVG в JSX с помощью онлайн-конвертера.

Пространственно-разделенные атрибуты также должны быть написаны без двоеточия:

  • xlink:actuate становится xlinkActuate.
  • xlink:arcrole становится xlinkArcrole.
  • xlink:href становится xlinkHref.
  • xlink:role становится xlinkRole.
  • xlink:show становится xlinkShow.
  • xlink:title становится xlinkTitle.
  • xlink:type становится xlinkType.
  • xml:base становится xmlBase.
  • xml:lang становится xmlLang.
  • xml:space становится xmlSpace.
  • xmlns:xlink становится xmlnsXlink.

© 2013–present Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://18.react.dev/reference/react-dom/components

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API