Comment définir la police par défaut de la famille à Réagir Natif?
Est-il un équivalent à cette CSS à Réagir Natif, de sorte que l'application utilise la même police partout ?
body {
font-family: 'Open Sans';
}
De l'appliquer manuellement sur chaque nœud de Texte semble trop compliqué.
- Toute Réponse Parfaite à Cette Question ??? Je ne veux pas l'appeler tous les styles.texte ou quelque chose comme ça .
Vous devez vous connecter pour publier un commentaire.
Il est recommandé de créer vos propres composants, tels que les MyAppText. MyAppText serait un simple composant qui rend un composant de Texte à l'aide de votre style universel et peut passer à travers d'autres accessoires, etc.
https://facebook.github.io/react-native/docs/text.html#limited-style-inheritance
Il y avait récemment un nœud module qui a été faite qui permet de résoudre ce problème afin que vous ne pas ont pour créer un autre composant.
https://github.com/Ajackster/react-native-global-props
https://www.npmjs.com/package/react-native-global-props
La documentation indique que, dans votre plus grande composante de l'ordre, de l'importation de la
setCustomText
fonction de la façon.Ensuite, créez le style personnalisé/les accessoires que vous souhaitez pour réagir indigènes
Text
composant. Dans votre cas, vous aimeriez fontFamily de travailler sur tous lesText
composant.Appeler le
setCustomText
fonction et passer vos accessoires/styles dans la fonction.Et puis tous réagir indigènes
Text
les composants ont déclarée fontFamily avec tous les autres accessoires/styles que vous fournissez.<Text style={styles.text}>
?? Ce n'est pas une solution parfaite, comme c'estbody {font-family: 'Open Sans';}
ont tout mettre à jour la solution ??Text style={styles.text}>
. Vous avez juste besoin de déclarer votre personnalisé accessoires quelque part dans votre application et il sera appliqué à l'ensemble de vos composants de Texte. C'est très similaire àbody {font-family: ....}
Ajouter
Text.defaultProps.style = { fontFamily: 'some-font' }
dans le constructeur de la App.js fichier (ou de tout composant racine que vous avez).defaultProps
n'existait pas lorsque toutes les autres réponses ont été écrites, mais cela semble être la façon de le faire maintenant.style
prop, disons, pour ajuster les styles de particulierText
composantsspread operator
de combiner des styles de texte et d'éviter de créer des tableaux dansrender
js textStyle: { ...baseStyle, fontSize: 16 }
style
prop dans le Texte, la police par défaut va être remplacé.Vous pouvez remplacer le Texte comportement en ajoutant ceci dans n'importe quel de votre composant à l'aide du Texte:
Edit: depuis Réagir Natif de 0,56,
Text.prototype
ne fonctionne plus. Vous devez supprimer les.prototype
:Avec Réagissent-Natif de 0,56, la méthode ci-dessus de changer
Text.prototype.render
ne fonctionne plus, donc vous devez utiliser votre propre composant, ce qui peut être fait en une seule ligne!MyText.js
AnotherComponent.js
ref
useRef
. reactjs.org/docs/hooks-reference.html#userefAjouter cette fonction à la racine de votre
App
composant et puis l'exécuter à partir de votre constructeur après l'ajout de votre police de caractères à l'aide de ces instructions. https://medium.com/react-native-training/react-native-custom-fonts-ccc9aacf9e5econst App = StackNavigator({...})
etexport default App
exactement où devrais-je placer ce code que je ne pense pas que je peux utiliser un constructeur ici?Super en retard à ce fil, mais voilà.
TLDR; Ajouter le bloc suivant dans votre
AppDelegate.m
Procédure pas à pas de l'ensemble des flux.
Quelques façons dont vous pouvez faire cela en dehors de l'aide d'un plugin comme
react-native-global-props
Mal de marche, vous bien que, étape par étape.Ajout de polices à des plates-formes.
Comment ajouter de la police pour IOS de projet
Créons d'abord un emplacement pour nos actifs.
Faisons le répertoire suivant à la racine de notre.
``
``
Maintenant, nous allons ajouter un "Réagir Natif" NPM dans notre package.json
Nous pouvons maintenant lancer "réagir indigènes lien" ajouter nos actifs de nos applications natives.
De vérifier ou de le faire manuellement.
Qui devrait ajouter vos noms de police dans le cadre des projets
.plist
(pour VS code aux utilisateurs d'exécuter des
code ios/*/Info.plist
à confirmer)Ici supposons
Verlag
est la police que vous avez ajouté, il devrait ressembler à quelque chose comme ceci:Maintenant que vous avez mappé, maintenant, assurez-vous qu'ils sont réellement et d'être chargée (c'est aussi comment vous pouvez le faire manuellement).
Aller à
"Build Phase" > "Copy Bundler Resource"
, Si ça ne fonctionne pas, vous aurez un ajouter manuellement des sous ici.Obtenir les Noms de Police (reconnu par XCode)
D'abord ouvrir votre XCode journaux, comme:
Vous pouvez ensuite ajouter le bloc suivant dans votre
AppDelegate.m
pour consigner les noms des Polices et de la Famille de Polices.Une fois que vous exécutez, vous devriez trouver des polices si chargé correctement, ici, nous avons trouvé la nôtre dans les journaux comme ceci:
Alors maintenant, nous savons qu'il a chargé les
Verlag
de la famille et les polices sont à l'intérieur de cette familleVerlag-Book
Verlag-BlackItalic
Verlag-BoldItalic
Verlag-XLight
Verlag-Bold
Verlag-Black
Verlag-XLightItalic
Verlag-LightItalic
Verlag-BookItalic
Verlag-Light
Ce sont maintenant la casse des noms que nous pouvons utiliser dans notre famille de polices que nous pouvons utiliser dans notre réagir application native.
Got'em maintenant définir la police par défaut.
Puis à définir une police par défaut pour ajouter votre nom de famille de polices dans votre
AppDelegate.m
avec cette ligneFait.
Qui fonctionne pour moi:
Ajouter des Polices Personnalisées à Réagir Natif
télécharger vos polices de caractères et de les placer dans des actifs/dossier de polices, ajouter cette ligne dans le paquet.json
puis ouvrir un terminal et exécutez cette commande: réagir indigènes lien
Maintenant, vous êtes bon pour aller. Pour de plus amples étape. visitez le lien ci-dessus mentionné