Перейти к содержанию

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

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

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

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

Сюда входят специфические для React пропсы, такие как ref и dangerouslySetInnerHTML.

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

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

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

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

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

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

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

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

camelCase для имен свойств

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

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

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

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

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

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

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

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

  • react@experimental
  • react-dom@experimental

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

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

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

camelCase для имен свойств

По аналогии со стандартом 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.

Источник — https://react.dev/reference/react-dom/components

Комментарии