2016-10-31 2 views
-1

zu gemeinsamen html Escape-Sequenz ändern i die 1111 in htmlwie in reagieren

<span dangerouslySetInnerHTML={{__html:"&lt;p&gt;11111&lt;/p&gt;"}}></span> 

enter image description here

<span dangerouslySetInnerHTML={{__html:"<p>11111</p>"}}></span> 

enter image description here

+2

Was genau ist Ihr Ziel hier: Da es keine Ebene Javascript-Funktion wie unescape hierfür ist, wäre eine Möglichkeit, ein DOMParser() zu benutzen? Kannst du etwas weiter erklären? –

Antwort

0

Wenn ich richtig verstehe Ihre Frage zu precent wollen, Sie wollen HTML-Entitäten entern und mit dangerouslySetInnerHTML festlegen.

class Example extends React.Component { 
 
    decodeHtml(html) { 
 
    let parser = new DOMParser().parseFromString(html, 'text/html'); 
 
    return parser.documentElement.textContent; 
 
    } 
 
    render() { 
 
    return(
 
     <span dangerouslySetInnerHTML={{__html: this.decodeHtml('&lt;p&gt;11111&lt;/p&gt;')}}></span> 
 
    ); 
 
    } 
 
} 
 

 
ReactDOM.render(<Example/>, document.getElementById('View'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react-dom.min.js"></script> 
 
<div id="View"></div>