Я пытаюсь отобразить некоторый html внутри блока <![CDATA[ ]], переданного в опасноSetInnerHTML в ReactJS, и этот контент отображается как закомментированный. Например. Я получаю <!--[CDATA[Where is my text?]]--> вместо [CDATA[Where is my text?]] в DOM.
const HTML_OK = '<pre>My text looks good</pre>'
const HTML_CDATA = '<pre><![CDATA[Where is my text?]]></pre>'
class Hello extends React.Component {
render() {
return <div dangerouslySetInnerHTML = {{ __html: this.props.html }} />;
}
}
ReactDOM.render(
<div>
<Hello html = {HTML_OK} />
<Hello html = {HTML_CDATA} />
</div>,
document.getElementById('root')
);<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 = "root">
<!-- This element's contents will be replaced with your component. -->
</div>Как я могу заставить <![CDATA[ ]] нормально отображаться в моем приложении React?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Кажется, вы не можете отобразить CDATA, если вы обслуживаете свою страницу как text / html. Эта тема может вам помочь: stackoverflow.com/questions/2746803/…