DOM-компоненти React
React підтримує всі вбудовані у браузері HTML та SVG компоненти.
Спільні компоненти
Всі вбудовані компоненти браузера підтримують деякі пропси та події.
Сюди входять специфічні для React пропси, такі як ref та dangerouslySetInnerHTML.
Компоненти форми
Ці вбудовані компоненти браузера приймають дані від користувача:
Вони є особливими в React, оскільки передача їм пропу value робить їх керованими.
Всі 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><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 рендеринг користувацьких елементів працює інакше, ніж рендеринг вбудованих тегів браузера:
- Усі пропси користувацьких елементів серіалізовано у рядки і завжди задаються за допомогою атрибутів.
- Кастомні елементи приймають
клас, а неclassName, ідля, а неhtmlFor.
Якщо ви рендерите вбудований HTML-елемент браузера з атрибутом is, він також буде розглядатися як користувацький елемент.
У майбутній версії React буде включено більш повну підтримку користувацьких елементів.
Ви можете спробувати, оновивши пакунки React до останньої експериментальної версії:
react@experimentalreact-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.