Ich verwende das & nbsp-Tag in jsx und es rendert den Speicherplatz nicht. Das Folgende ist ein kleiner Ausschnitt meines Codes. Bitte helfen Sie.
var Reporting=React.createClass({
render: function(){
return(
<div style={divPositionReporting}>
<p>Pricing Reports</p>
<hr></hr>
Select Scenario:
<select>
<option></option>
</select>
<button type="button">Get Pricing Report</button>
<br/>
Select Takeout Scenario:
<select>
<option></option>
</select>
<button type="button">Get Pricing Report</button>
<br/>
</div>
);
},
});
Antworten:
Siehe: JSX im Detail
Versuchen:
Select Scenario:{'\u00A0'}
Oder:
<div dangerouslySetInnerHTML={{__html: 'Select Scenario: '}} />
Oder:
<div> </div>
jsfiddle
Aktualisieren
Nachdem ich einige der Kommentare gesehen und ausprobiert habe. Es ist mir aufgefallen, dass die Verwendung von HTML-Entiten in JSX gut funktioniert (im Gegensatz zu dem, was in der obigen jsx-gotchas-Referenz angegeben ist [möglicherweise ist es veraltet]).
Wenn Sie also etwas wie: verwenden
R&D
, wird Folgendes ausgegeben: 'F & E'. Es gibt ein seltsames Verhalten bei
, das dazu führt, dass es anders gerendert wird, sodass ich denke, dass es nicht funktioniert:Produziert:
quelle
sollte gut funktionieren. Es gibt ein Problem mit dem Wert im Stilattribut.<div>Doesn't work: - -</div>
funktioniert gut für mich. edit: Nun, es scheint kein ununterbrochener Raum zu sein.Schreiben Sie Ihren
jsx
Code{
}
wie unten gezeigt ein.Hier können Sie Leerzeichen oder Sonderzeichen einfügen.
zB in deinem Fall
sollte so sein
Es wird klappen.
Als Hinweis, den Sie nicht verwenden sollten
 
, um zusätzlichen Speicherplatz hinzuzufügen, können Sie CSS verwenden , um dies zu erreichen.quelle
text-overflow: "clip";
overflow: "hidden";
. Es stehen einige Variationen zur Verfügung.{'\u00A0'}
funktioniert, ist aber schwer zu lesen, deshalb habe ich es in eine Funktionskomponente eingeschlossen :Komponenten / nbsp.js:
Verwendung:
quelle
Wenn dies nicht für Sie arbeiten
{' '}
dann verwenden{'\u00A0'}
.{' '}
wird ein Leerzeichen rendern, aber es gibt einige Fälle, in denen Sie möchten, dass die Zeilenhöhe auch in einem Fall gerendert wird, in dem Sie ein Leerzeichen in einem HTML-Element haben möchten, das keinen anderen Text enthält, dh:<span style={{ lineHeight: '1em' }}>{' '}</span>
In diesem Fall müssen Sie es{'\u00A0'}
innerhalb von verwenden span oder HTML-Element.quelle
Versuchen Sie, utf-8 nbsp zu verwenden. Dies scheint ein einfacher Speicherplatz zu sein, funktioniert jedoch ohne zusätzlichen Code.
Vielleicht sollten Sie dafür eine Variable erstellen.
Für Kopiersymbole: https://unicode-table.com/de/00A0/
Verwenden Sie zum automatischen Generieren von Texten einige Typografien.
quelle
Sie können auch ES6-Vorlagenliterale verwenden, z.
quelle