2016-06-16 14 views

Odpowiedz

4

Nie możesz. Te są potrzebne, aby React wykonał swoją pracę, jeśli chodzi o umiejętność usuwania/zamiany elementów w DOM. Jest to poprawa w stosunku do poprzedniego sposobu React zrobił rzeczy, które były wszędzie atrybutami data-reactid.

+0

Choć to prawda, że ​​React potrzebuje dynamicznej zawartości, statyczna zawartość to kolejna historia: https://facebook.github.io/react/docs/react-dom-server.html#rendertostaticmarkup –

0

Jeśli zawiniesz każde "słowo" i/lub spację w tagu, komentarze nie pojawią się. Nie jest to idealne rozwiązanie dla dużych zwrotów, ale jeśli z jakiegoś powodu absolutnie nie możesz mieć tamtych komentarzy, jest to (nie idealne) rozwiązanie.

Po prostu zobacz kod w internetowym inspektorze, zobaczysz różnicę.

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

żadnych komentarzy

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

komentarze

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

ReactDOMServer.renderToStaticMarkup robi dokładnie to.

Od tej strony:

podobne do renderToString, oprócz tego nie tworzy dodatkowy DOM atrybuty takie jak data-reactid, które reagują używa wewnętrznie. Jest to przydatne, jeśli chcesz użyć React jako prostego generatora stron statycznych, ponieważ usunięcie dodatkowych atrybutów może zaoszczędzić mnóstwo bajtów.