جاوااسکریپت - چگونه میتوانم یک شکست خط در یک کامپوننت در React Native وارد کنم؟


من میخواهم یک خط جدید (مثل \r\n, <br />) در یک کامپوننت Text در React Native وارد کنم.

اگر من داشته باشم:

<text>
<br />
Hi~<br />
this is a test message.<br />
</text>

سپس React Native Hi~ this is a test message. را نمایش میدهد.

آیا امکان دارد متن را به گونهای نمایش داد که یک خط جدید اضافه شود، مانند این:

Hi~
this is a test message.

پاسخ شماره ۱

این باید کار را انجام دهد:

<Text>
Hi~{"\n"}
this is a test message.
</Text>

پاسخ شماره ۲

شما همچنین میتوانید انجام دهید:

<Text>{`
Hi~
this is a test message.
`}</Text>

به نظر من راحتتر است، چون نیازی نیست چیزها را داخل رشته وارد کنید؛ فقط یک بار آن را بپیچانید و همه شکست خطهای شما را حفظ میکند.

پاسخ شماره ۳

استفاده کنید :

<Text>{`Hi,\nCurtis!`}</Text>

نتیجه :

سلام،

کرتیس!

پاسخ شماره ۴

راه حل ۱:

<Text>
  line 1{"\n"}
  line 2
</Text>

راه حل ۲:

 <Text>{`
  line 1
  line 2
 `}</Text>

راه حل ۳:

این راهحل من برای مدیریت چندین تگ <br/> بود:

<Text style={{ whiteSpace: "pre-line" }}>
    {"Hi<br/> this is a test message.".split("<br/>").join("\n")}
</Text>

راه حل ۴:

برای شکست خودکار خط از maxWidth استفاده کنید

<Text style={{ maxWidth:200}}>this is a test message. this is a test message</Text>

پاسخ شماره ۵

این برای من جواب داد

<Text>{`Hi~\nthis is a test message.`}</Text>

(ریاکت-نیتیو ۰.۴۱.۰)

پاسخ شماره ۶

اگر اصلاً در حال نمایش دادهها از متغیرهای وضعیت هستید، از این استفاده کنید.

<Text>{this.state.user.bio.replace('<br/>', '\n')}</Text>

پاسخ شماره ۷

شما میتوانید از {'\n'} به عنوان شکست خط استفاده کنید. سلام~ {'\n'} این یک پیام آزمایشی است.

پاسخ شماره ۸

https://stackoverflow.com/a/44845810/10480776 جواب @Edison D'souza دقیقاً همان چیزی بود که من دنبال آن بودم. با این حال، تنها اولین مورد از رشته را جایگزین میکرد. راهحل من برای مدیریت چندین تگ <br/> به این صورت بود:

<Typography style={{ whiteSpace: "pre-line" }}>
    {shortDescription.split("<br/>").join("\n")}
</Typography>

متأسفم، به دلیل محدودیت امتیاز شهرت نتوانستم روی پست او نظر بدهم.

پاسخ شماره ۹

ویرایش :

اگر از قالبهای متنی (Template Literals) استفاده کنید (رجوع کنید به داخل المان <Text>

import React, { Component } from 'react';
import { Text, View } from "react-native";

export default class extends Component {

 (...)

 render(){
  return (
    <View>
      <Text>{`
        1. line 1
        2. line 2
        3. line 3
      `}</Text>
    </View>
  );
 }
}

پاسخ شماره ۱۰

در جایی که میخواهید تغییر خط داشته باشید از {"\n"} استفاده کنید