Sie versuchen, HTML aus einer Zeichenfolge einzufügen, auch wenn es kein Tag ist.
Sie haben also zwei einfache Lösungen, um dies zu beheben.
Zuerst kann man dieses Element in einem Tag wickeln und legen Sie sie anschließend:
var title = ["My Title", <span>™</span>]
Zweitens Sie dangerouslySetInnerHtml
verwenden können, auch wenn es nicht empfohlen wird, weil, na ja, es gefährlich ist.
return <div dangerouslySetInnerHTML={{__html: title}}></div>
Der Vollständigkeit halber hat @Tom Fenech zwei weitere elegante Lösungen in seiner Antwort gezeigt.
Vollarbeitscode:
var Example = React.createClass({
render: function() {
var listTitle = ["My Title", <span>™</span>]
var dangerousTitle = "My other Title™";
return <div>
{listTitle}<br/>
<div dangerouslySetInnerHTML={{__html: dangerousTitle}}></div>
</div>;
}
});
ReactDOM.render(
<Example/>,
document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container"></div>
Vielen Dank! Das funktioniert –