Saya menggunakan & nbsp tag di jsx dan tidak memberikan spasi. Berikut ini adalah potongan kecil kode saya. Tolong bantu.
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>
);
},
});
Jawaban:
Lihat: JSX In Depth
Mencoba:
Select Scenario:{'\u00A0'}
Atau:
<div dangerouslySetInnerHTML={{__html: 'Select Scenario: '}} />
Atau:
<div> </div>
jsfiddle.dll
Memperbarui
Setelah melihat beberapa komentar, dan mencobanya. Telah menjadi perhatian saya bahwa menggunakan html entites di dalam JSX berfungsi dengan baik (tidak seperti yang disebutkan dalam referensi jsx-gotchas di atas [mungkin sudah usang]).
Jadi menggunakan sesuatu seperti
R&D
:, akan menghasilkan: 'R&D'. Ada perilaku aneh dengan
, yang menyebabkannya dirender secara berbeda, sehingga menyebabkan saya berpikir itu tidak berfungsi:<div>This works simply:- -</div> <div>This works simply:- {'\u00A0'}-</div>
Menghasilkan:
sumber
harus bekerja dengan baik. Ada beberapa masalah dengan nilai dalam atribut gaya.<div>Doesn't work: - -</div>
bekerja dengan baik untuk saya. sunting: Yah, sepertinya bukan ruang yang tidak terputus.{'\u00A0'}
berfungsi tetapi sulit dibaca, jadi saya membungkusnya dalam komponen fungsi :komponen / nbsp.js:
export default () => '\u00A0';
pemakaian:
sumber
Tulis
jsx
kode Anda yang dibungkus{
}
seperti yang ditunjukkan di bawah ini.<h1>Code {' '}</h1>
Anda dapat meletakkan spasi atau karakter khusus apa pun di sini.
misalnya dalam kasus Anda
harus seperti ini
Select Takeout Scenario:{' '}
Ini akan berhasil.
Sebagai Saran Anda tidak boleh menggunakan
 
untuk menambah ruang ekstra, Anda dapat menggunakan css untuk mencapai hal yang sama.sumber
text-overflow: "clip";
overflow: "hidden";
. Ada beberapa variasi yang tersedia.Jika ini tidak berhasil untuk Anda,
{' '}
gunakan{'\u00A0'}
.{' '}
akan membuat spasi tetapi ada beberapa kasus ketika Anda ingin tinggi baris juga dirender dalam kasus di sana Anda menginginkan spasi di dalam elemen HTML yang tidak memiliki teks lain yaitu:,<span style={{ lineHeight: '1em' }}>{' '}</span>
dalam kasus itu Anda harus menggunakan{'\u00A0'}
di dalam span atau elemen HTML.sumber
Coba gunakan utf-8 nbsp, tampaknya sebagai ruang yang sederhana, tetapi berfungsi dengan baik tanpa kode tambahan.
Mungkin, Anda harus membuat variabel untuk ini.
Untuk menyalin simbol: https://unicode-table.com/en/00A0/
Untuk menghasilkan teks secara otomatis, gunakan beberapa typograf.
sumber
Anda juga dapat menggunakan literal template ES6 yaitu,
` <li></li>` or ` ${value}`
sumber