6

Как вставить перенос строки в компоненте <Text> в React Native?

1

Я хочу вставить новую строку (например, \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.

Как можно решить эту проблему?

5 ответ(ов)

11

Это должно сработать:

<Text>
Привет~{"\n"}
это тестовое сообщение.
</Text>
1

Вы также можете сделать это следующим образом:

<Text>{`
Привет~
это тестовое сообщение.
`}</Text>

На мой взгляд, это проще, так как вам не нужно вставлять символы для переноса строк; просто обрамите текст один раз, и все ваши переносы строк сохранятся.

0

Для достижения желаемого результата с использованием компонента <Text> в React Native, вы можете вставить перенос строки с помощью символа \n. Вот пример кода, который вы можете использовать:

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

Этот код отобразит текст следующим образом:

Hi,
Curtis!

Таким образом, текст "Hi," будет на одной строке, а "Curtis!" на следующей, как и ожидалось.

0

Решение 1:

<Text>
  строка 1{"\n"}
  строка 2
</Text>

Решение 2:

<Text>{`
  строка 1
  строка 2
`}</Text>

Решение 3:

Вот как я решил задачу обработки нескольких тегов <br/>:

<Text style={{ whiteSpace: "pre-line" }}>
    {"Привет<br/> это тестовое сообщение.".split("<br/>").join("\n")}
</Text>

Решение 4:

Используйте maxWidth для автоматического переноса строк:

<Text style={{ maxWidth: 200 }}>это тестовое сообщение. это тестовое сообщение</Text>
0

Это сработало для меня:

<Text>{`Привет~\nэто тестовое сообщение.`}</Text>

(react-native 0.41.0)

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь