#react-native #styling #text-styling
#react-native #оформление #оформление текста
Вопрос:
у меня есть текстовая строка с символами типа «__» (два подчеркивания) в строке всякий раз, когда я сталкиваюсь с двумя подчеркиваниями, я хочу заменить их определенным видом, подобным box, и отобразить его так, например:
str = "iam __ and i want to go to __"
итак, я хочу отобразить iam (хочу отобразить прямоугольное поле здесь), и я хочу перейти к (прямоугольное поле здесь)
я попытался использовать функцию разделения в js и разделить их на __ и попытался преобразовать jsx в массив на основе условия, но это отображалось в разных строках, есть ли лучший способ сделать это, код, который я пробовал:
const stringsArr = str.split('__');
const toRender = []
for(let i=0;i<stringsArr.length;i ){
toRender.push(<Text styles={styles.emptyBlock} />)
toRender.push(<Text>{stringsArr[i]}</Text>)
}
Ответ №1:
По умолчанию компоненты будут отображаться друг под другом. Оберните View
вокруг каждой текстовой строки и придайте ей стиль flexDirection: 'row'
, чтобы они отображались параллельно. Если вы хотите, чтобы он работал как абзац, тогда примените flexWrap: 'wrap'
то же самое.
Комментарии:
1. я уже устал от этого, но внутри текста есть n, из-за чего текст после этого опускается, а пробел поднимается вверх
2. В этом случае я бы рекомендовал сначала разделить строку с помощью
'n'
и иметьView
оболочку для каждого элемента этого массива.