Composants React DOM
Composants communs
Tous les composants natifs du navigateur prennent en charge un jeu commun de props et d’événements.
Ça inclut quelques props spécifiques à React telles que ref
et dangerouslySetInnerHTML
.
Composants de formulaire
Ces composants natifs du navigateur acceptent des saisies utilisateur :
React leur réserve un traitement particulier parce que leur passer la prop value
en fait des champs contrôlés.
Composants de ressources et métadonnées
Ces composants natifs du navigateur vous permettent de charger des ressources externes ou d’annoter le document avec des métadonnées :
Ils font l’objet d’un traitement particulier par React car celui-ci va les restituer directement dans l’en-tête du document, suspendre pendant le chargement des ressources, puis exécuter les autres comportements décrits dans les pages de référence pour chacun de ces composants.
Tous les composants HTML
React prend en charge tous les composants HTML natifs du navigateur, ce qui inclut :
<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>
Éléments HTML personnalisés
Si vous utilisez dans votre rendu une balise avec un tiret, comme dans <my-element>
, React supposera que vous souhaitez exploiter un élément HTML personnalisé (custom element, une des parties des Web Components, NdT). Dans React, le rendu des éléments personnalisés fonctionne différemment du rendu des éléments natifs du navigateur :
- Toutes les props des éléments personnalisés sont séralisées sous forme de chaînes de caractères, et sont systématiquement définies en tant qu’attributs.
- Les éléments personnalisés utilisent
class
plutôt queclassName
etfor
plutôt quehtmlFor
.
Si vous utilisez un élément HTML natif du navigateur doté d’un attribut is
, il sera traité de la même façon qu’un élément personnalisé.
Tous les composants SVG
React prend en charge tous les composants SVG natifs du navigateur, ce qui inclut :
<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>