2016-06-16 9 views

Antwort

4

Sie können nicht. Diese werden benötigt, damit React seine Aufgabe erfüllen kann, soweit es darum geht, Objekte im DOM zu entfernen/ersetzen. Dies ist eine Verbesserung gegenüber der vorherigen Art und Weise, wie React die Dinge tat, was überall zu den Attributen data-reactid gehörte.

+0

Obwohl es stimmt, dass React es für dynamischen Inhalt benötigt, ist der statische Inhalt eine andere Geschichte: https://facebook.github.io/react/docs/react-dom-server.html#rendertostaticmarkup –

0

Wenn Sie jedes "Wort" und/oder Leerzeichen in ein Tag einfügen, werden die Kommentare nicht angezeigt. Nicht ideal für große Renditen, aber wenn Sie aus irgendeinem Grund diese Kommentare absolut nicht haben können, ist es eine (nicht ideale) Lösung.

Schauen Sie sich einfach den Code im Web Inspector an, Sie werden den Unterschied sehen.

https://jsfiddle.net/69z2wepo/73674/

keine Kommentare

return (<div><span>Hello</span><span> </span><span>{this.props.name}</span></div>) 

Kommentare

return (<div>Hello {this.props.name}</div>) 
1

ReactDOMServer.renderToStaticMarkup tut genau das.

Von dieser Seite:

Ähnlich renderToString, außer dies schafft keine zusätzliche DOM als Daten-reactid solche Attribute, die reagieren intern verwendet. Dies ist nützlich, wenn Sie React als einfachen statischen Seitengenerator verwenden möchten, da das Entfernen der zusätzlichen Attribute viele Bytes speichern kann.

Verwandte Themen