Comment afficher un fichier SVG sur Réagir Natif?
Je veux afficher les fichiers svg (j'ai des tas d'images svg) mais la chose que je ne pouvais pas trouver le moyen de le montrer. J'ai essayé d'utiliser Image et Utilisation composants de réagir-native-svg mais ils ne fonctionnent pas avec qui. Et j'ai essayé de le faire avec le natif de sens, mais c'est vraiment difficile de montrer image svg.
Exemple de code:
import Svg, {
Use,
Image,
} from 'react-native-svg';
<View>
<Svg width="80" height="80">
<Image href={require('./svg/1f604.svg')} />
</SvgRn>
</View>
Je sais aussi que l'réagissent maternelle n'est pas le support du svg essentiellement, mais je pense que quelqu'un a résolu ce problème avec la façon délicate (avec/sans réagir-native-svg)
- Vous ne pouvez pas l'utiliser pour afficher l'intégralité d'un fichier, vous aurez besoin de l'image pour que.
- Ouais je l'ai essayé aussi @RobertLongson mais ça ne fonctionne pas non plus.
- Vous pouvez l'ajouter en tant que css backgroundImage, avez-vous essayé?
- J'ai essayé, mais réagir natif de la Vue de composant ne prend pas en charge backgroundImage prop sur style css. @danielarend
- Je ne suis pas sûr de savoir pourquoi vous devriez utiliser un SVG wrapper pour l'envelopper d'une image SVG.
- parce que composant de l'Image de la RN ne prend pas en charge le format SVG fichier. Lorsque j'essaie d'utiliser "réagissent-native-svg" composant, j'ai besoin de mettre le code à l'intérieur de SVG wrapper.
- Vous pouvez simplement afficher le fichier SVG via un code html img sûrement.
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé la solution suivante:
react-native-svg
composant avec https://svgr.now.sh/ (cocher la case "Réagir Natif case)react-native-svg
paquet. Aussi assurez-vous d'exécuter cette commande pour lier votre colisreact-native link react-native-svg
Après avoir essayé de nombreuses façons et des bibliothèques, j'ai décidé de créer une nouvelle police de caractères (avec Les glyphes ou ce tutoriel) et ajouter mes fichiers SVG, puis utilisez le "Texte" de la composante avec ma police personnalisée.
Espère que cela aide quelqu'un qui a le même problème avec SVG dans réagissent-natif.
J'ai posté une autre solution ici Quelle est la meilleure approche pour insérer un vectoriel (svg) graphique dans un réagir application native, Cette approche de l'utilisation d'un vecteur de police(à partir de svg) au lieu d'un fichier svg. PS: Sa fonctionne très bien sous ios et android, et vous pouvez également changer la couleur et la taille de votre icône de vecteur de.
Si vous souhaitez insérer un svg directement dans votre application, vous pouvez essayer une 3ème partie de la bibliothèque : réagir-native-svg. Avec plus de 3k étoiles sur github, c'est l'un de la meilleure approche.
Et voici un échantillon:
J'ai eu le même problème. Je suis à l'aide de cette solution que j'ai trouvé: Réagir Natif d'affichage à partir d'un fichier SVG
Il n'est pas parfait, et je suis revisiter aujourd'hui, car il effectue une aggravation de la situation sur Android.
<Image>
avec celles enregistrées au format Png. Compte tenu de l'état actuel de la SVG à réagir natif, il n'y a pas d'ETA pour SVGs de travail, alors c'est votre meilleur pari si vous ne pouvez pas tolérer le travail.Utilisation https://github.com/kristerkari/react-native-svg-transformer
Dans ce package, il est mentionné que
.svg
fichiers ne sont pas pris en charge dans Réagissent Natif v0.57 et faible, de sorte que l'utilisation.svgx
extension pour les fichiers svg.Pour le web ou de réagir de langue maternelle de l'utilisation du web https://www.npmjs.com/package/@svgr/webpack
Pour rendre les fichiers svg en utilisant
react-native-svg-uri
avec réagissent-version native de 0,57 et inférieur, vous devez ajouter les fichiers suivants dans le répertoire racine de votre projetétape 1: ajouter un fichier
transformer.js
à la racine du projetétape 2: ajouter
rn-cli.config.js
à la racine du projetLes solutions mentionnées ci-dessus va travailler à la production des applications trop ✅
Installer réagir-native-svg-transformateur
Je suis en utilisant SVG comme suit et il fonctionne très bien
en rendre
Remarque: Svg ne fonctionne pas pour android versions afin de ne pas envisager pour android. Il va travailler pour android en mode débogage seulement. Mais il fonctionne très bien pour ios.
Utilisation https://github.com/vault-development/react-native-svg-uri
Installer
Utilisation