Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
18 of 196 menu
◀ ▶

Компонент Text

Компонент Text выводит текст внутри родителя View или другого Text. Вложенный Text наследует стиль родительского текста, если ключ не переопределён. Внешний вид задаёт параметр style. Параметр numberOfLines ограничивает число строк, лишний хвост обрезается вместе с ellipsizeMode.

Синтаксис

<Text>abcde</Text>

Параметры

Параметр Описание
children Строка, число или вложенные элементы Text.
style Объект стиля текста: размер, цвет, начертание и выравнивание. Объект собирают через класс StyleSheet.
numberOfLines Максимум строк на экране. При переполнении хвост обрезают.
ellipsizeMode Как показать обрезку при numberOfLines. Строка из перечисления EllipsizeMode.
onPress Обработчик нажатия по тексту.
selectable Разрешает выделение и копирование текста пользователем.

Ключи стиля

Ключи ниже пишут внутри объекта style, а не отдельными параметрами Text. Ключ fontSize задаёт высоту шрифта в логических пикселях. Ключ lineHeight задаёт расстояние между базовыми линиями соседних строк. Ключ letterSpacing добавляет зазор между символами. Ключ color задаёт цвет символов, например '#112233'.

Ключ fontWeight берёт строку из перечисления FontWeight. Ключ fontStyle берёт значение из FontStyle. Ключ textAlign выравнивает абзац по значениям TextAlign. Ключ textDecorationLine рисует линию под или через текст по TextDecorationLine. Ключ textTransform меняет регистр букв по TextTransform.

Давайте соберём стиль с размером, цветом и выравниванием:

import { View, Text, StyleSheet } from 'react-native'; export default function App() { return ( <View> <Text style={styles.body}>abcde</Text> </View> ); } const styles = StyleSheet.create({ body: { fontSize: 18, lineHeight: 24, letterSpacing: 1, color: '#112233', fontWeight: '600', fontStyle: 'normal', textAlign: 'center', textDecorationLine: 'none', textTransform: 'none', }, });

На экране одна строка 'abcde' по центру с заданным размером и цветом.

Пример

Давайте вложим текст с другим начертанием:

import { View, Text, StyleSheet } from 'react-native'; export default function App() { return ( <View> <Text style={styles.base}> abcde <Text style={styles.bold}>12345</Text> </Text> </View> ); } const styles = StyleSheet.create({ base: { fontSize: 16, color: '#112233', }, bold: { fontWeight: 'bold', }, });

На экране общий фрагмент: 'abcde' обычным начертанием и '12345' жирнее.

Пример

Давайте обрежем длинную строку двумя строками:

import { View, Text } from 'react-native'; export default function App() { return ( <View> <Text numberOfLines={2} ellipsizeMode="tail"> abcde abcde abcde abcde abcde abcde abcde abcde </Text> </View> ); }

На экране не больше двух строк, конец заменён многоточием.

Смотрите также

  • компонент View,
    который держит дочерние элементы
  • класс StyleSheet,
    который собирает объект стиля
  • перечисление FontWeight,
    которое задаёт толщину шрифта
  • перечисление EllipsizeMode,
    которое описывает обрезку длинного текста
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить