Saya ingin menyisipkan baris baru (seperti \ r \ n, <br />) dalam komponen teks di React Native.
Jika saya punya:
<text><br />
Hi~<br >
this is a test message.<br />
</text>
Kemudian React Native renders Hi~ this is a test message.
Apakah mungkin membuat teks untuk menambahkan baris baru seperti:
Hi~
this is a test message.
javascript
text
react-native
newline
Curtis
sumber
sumber
\n
mana Anda ingin memutuskan garis.Jawaban:
Ini harus dilakukan:
sumber
<Text>{content}</Text>
:?var Br = React.createClass({ render() { return ( <Text> {"\n"}{"\n"} </Text> ) } })
<Text>{comments}</Text>
Kita tidak bisa menggunakan{\n}
logika di sana. Lalu bagaimana?<Component text={"Line1\nLine2"} />
alih-alih<Component text="Line1\nLine2" />
(perhatikan kurung kurawal yang ditambahkan)Anda juga dapat melakukan:
Lebih mudah menurut saya, karena Anda tidak harus memasukkan barang ke dalam string; hanya membungkusnya sekali dan itu membuat semua jeda Anda.
sumber
white-space: pre-line;
Menggunakan:
Hasil:
sumber
Ini berhasil untuk saya
(reaksi asli 0.41.0)
sumber
Jika Anda menampilkan data dari variabel status, gunakan ini.
sumber
Anda dapat menggunakan
{'\n'}
sebagai jeda baris. Hai ~ {'\ n'} ini adalah pesan ujian.sumber
Lebih baik lagi: jika Anda menggunakan
styled-components
, Anda dapat melakukan sesuatu seperti ini:sumber
Anda dapat mencoba menggunakan seperti ini
sumber
Saya membutuhkan solusi satu baris yang bercabang di operator ternary untuk menjaga kode saya terindentasi dengan baik.
Penyorotan sintaks yang luhur membantu menyoroti karakter line-break:
sumber
Anda dapat menggunakan `` seperti ini:
sumber
Anda dapat melakukannya sebagai berikut:
{'Buat \ n Akun Anda'}
sumber
Anda juga bisa menambahkannya sebagai konstanta dalam metode render Anda sehingga mudah digunakan kembali:
sumber
Masukkan saja ke
{'\n'}
dalam tag Tekssumber
Salah satu cara paling bersih dan paling fleksibel adalah menggunakan Templat Literal .
Keuntungan menggunakan ini adalah, jika Anda ingin menampilkan konten variabel string di badan teks, itu lebih bersih dan lurus ke depan.
(Harap perhatikan penggunaan karakter backtick)
Akan menghasilkan
sumber
Jika ada yang mencari solusi di mana Anda ingin memiliki baris baru untuk setiap string dalam array Anda bisa melakukan sesuatu seperti ini:
Lihat camilan untuk contoh langsung: https://snack.expo.io/@cmacdonnacha/react-native-new-break-line-example
sumber
Cukup gunakan {"\ n"} di mana Anda ingin memutuskan garis
sumber
Cara lain untuk menyisipkan
<br>
antara baris teks yang didefinisikan dalam array:Kemudian teks dapat digunakan sebagai variabel:
Jika tidak tersedia,
Fragment
dapat didefinisikan dengan cara ini:sumber
https://stackoverflow.com/a/44845810/10480776 @Edison D'souza jawaban persis apa yang saya cari. Namun, itu hanya menggantikan kemunculan pertama string. Inilah solusi saya untuk menangani beberapa
<br/>
tag:Maaf, saya tidak dapat mengomentari posnya karena batasan skor reputasi.
sumber
Berikut adalah solusi untuk Bereaksi (bukan Bereaksi Asli) menggunakan TypeScript.
Konsep yang sama dapat diterapkan untuk Bereaksi Asli
Pemakaian:
Menampilkan:
sumber
Gunakan
\n
dalam teks dan csswhite-space: pre-wrap;
sumber
whiteSpace
terdaftar sebagai Prop Gaya Teks Asli Bereaksi . Perhatikan bahwa ini bukan HTML.