Comment mettre un seul mot dans un champ de texte en gras ou en italique? Un peu comme ça:
<Text>This is a sentence <b>with</b> one word in bold</Text>
Si je crée un nouveau champ de texte pour le caractère gras, il le séparera sur une autre ligne, donc ce n'est sûrement pas la façon de le faire. Ce serait comme créer une balise <p> dans une balise <p> juste pour mettre un mot en gras.
react-native
Hasen
la source
la source
<Text style={{fontWeight: 'bold'}}> with</Text>
en trois lignes distinctes, vous perdrez l'espace de premier plan, vous voudrez peut-être l'utiliser{' with'}
pour être sûr de toujours l'avoir.styled-components
vous pouvez passer un grasproperty
.Pour une sensation plus Web:
la source
<Strong>
au lieu de<B>
:)const B = this.B
aurender
vous pouvez utiliser https://www.npmjs.com/package/react-native-parsed-text
la source
Utilisez cette bibliothèque native React
À installer
npm install react-native-htmlview --save
Utilisation de base
Prend en charge presque toutes les balises html.
Pour une utilisation plus avancée comme
Afficher ce Lisez - moi
la source
Ce n'est pas dans un champ de texte comme demandé, mais encapsuler des éléments de texte séparés dans une vue donnerait le résultat souhaité. Cela peut être utilisé si vous ne souhaitez pas ajouter une autre bibliothèque à votre projet uniquement pour styliser quelques textes.
Cela résulterait comme suit
la source
Je suis un mainteneur de react-native-spannable-string
Le
<Text/>
composant imbriqué avec un style personnalisé fonctionne bien mais la maintenabilité est faible.Je vous suggère de créer une chaîne spannable comme celle-ci avec cette bibliothèque.
la source
Vous pouvez simplement imbriquer les composants Texte avec le style requis. Le style sera appliqué avec le style déjà défini dans le premier composant Texte.
Exemple:
la source
L'imbrication de composants de texte n'est pas possible pour le moment, mais vous pouvez envelopper votre texte dans une vue comme celle-ci:
J'ai utilisé les chaînes entre crochets pour forcer l'espace entre les mots, mais vous pouvez également y parvenir avec marginRight ou marginLeft. J'espère que ça aide.
la source
par exemple!
<Text> 123<TextBold/> </Text>
la source
la source
Texte en gras:
Texte italique:
la source