2017-09-04 1 views
2

Le seul documentation que j'ai trouvé sur ce problème indique simplement que je peux utiliser des entités HTML dans React.Pourquoi React n'autorise-t-il qu'un sous-ensemble d'entités HTML?

Cependant, cela ne semble pas totalement être le cas. Par exemple, & et ∑ fonctionnent, tandis que | et # ne fonctionnent pas. Était-ce une décision de conception consciente? Si oui, quelle est la raison?

Exemple:

const App =() => (
    <div> 
    <h2>&amp;, &sum; - this works. &vert;, &num; - this doesn't.</h2> 
    </div> 
); 

Example in CodeSandbox

Répondre

4

ReactJS ne supporte que des entités spéciales de HTML4.

Cela peut être intentionnel, bien que la documentation ne soit pas claire à ce sujet. Ma supposition serait que les entités HTML sont couramment utilisées pour masquer les caractères qui sont utilisés dans le code, mais comme ReactJS a un support Unicode, il n'est pas nécessaire d'utiliser les nouvelles entités qui peuvent être représentées dans Unicode.

Vous pouvez trouver une liste d'entités HTML4 here.

0

Désolé, mais seulement des éléments HTML4 sont pris en charge unfortunatelly

0

&vert; and &num; sont nouveaux character entities de spécification HTML5.
&amp; and &sum; sont character entities de la spécification HTML4 (mieux visualisé here).

JSX Les résultats de rendu montrent que les entités de caractères à partir de la seule spécification HTML4 sont autorisées.