Comments (10)
Thanks for reporting @augustosamame!
With a quick glance I think that the problem is that your SVG file has an image inside it that is a base64 encoded png image, and the react-native-svg
library probably only supports vector graphics.
I'm not sure if there is anything that can be done to get that SVG to render properly.
from react-native-svg-transformer.
There is this issue that suggest that the data uris can be supported, so I will have a look to see if it can be supported:
software-mansion/react-native-svg#891
from react-native-svg-transformer.
This is something that needs to be fixed either in SVGR library or react-native-svg library.
I opened an issue to SVR's repo first:
gregberge/svgr#286
from react-native-svg-transformer.
from react-native-svg-transformer.
So is there any change I can make in my original svg files that would help at this time? Exchanging the keys for href for example?
I don't think that you can do anything for now, I'm currently waiting for some feedback from the library maintainers to see where the fix should be done.
Here's the issue that I created to react-native-svg
's repo:
software-mansion/react-native-svg#971
from react-native-svg-transformer.
Can you try with the develop branch of react-native-svg or this commit/patch: software-mansion/react-native-svg@3cff87f
From 3cff87fd4f357ca33a9671ce86af679739ee16fc Mon Sep 17 00:00:00 2001
From: Mikael Sand <[email protected]>
Date: Sun, 17 Mar 2019 03:27:53 +0200
Subject: [PATCH] Fix compatibility with svgr and images
#971
---
elements/Image.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/elements/Image.js b/elements/Image.js
index 7b6e13b..f4c36b9 100644
--- a/elements/Image.js
+++ b/elements/Image.js
@@ -39,7 +39,9 @@ export default class SvgImage extends Shape {
height={height}
meetOrSlice={meetOrSliceTypes[modes[1]] || 0}
align={alignEnum[modes[0]] || 'xMidYMid'}
- src={Image.resolveAssetSource(href)}
+ src={Image.resolveAssetSource(
+ typeof href === 'string' ? { uri: href } : href,
+ )}
/>
);
}
--
2.19.2
from react-native-svg-transformer.
Thanks for the quick fix @msand! At least the diff looks like a it will fix the issue. I'll do some testing.
from react-native-svg-transformer.
@msand I did a quick test using the patch with a remote image and a base64 image, and it does fix the compatibility with SVGR.
Thanks!
from react-native-svg-transformer.
One thing to notice: I did not manage to get the SVG image from @augustosamame to render after the fix, but I managed to get other png images to render.
Maybe there is something else that is not working?
from react-native-svg-transformer.
I tested with react-native-svg
v9.3.5 and the image from this issue is rendering properly. Thank you @msand for the fix!
from react-native-svg-transformer.
Related Issues (20)
- Identifier 'Svg' has already been declared HOT 6
- Import local svg without extension
- TypeError: Cannot read properties of undefined (reading 'has') HOT 2
- svg does not display properly when used with styled-components HOT 2
- Could we add support for optional import svg as a string not a `SvgComponent`? HOT 1
- Fails to find react-native-babel-transformer when used with React Native 0.73 because the package has been renamed HOT 4
- RN 0.73 compatibility HOT 1
- metro-react-native-babel-transformer needs to be replaced in RN 0.73 HOT 11
- Latest Expo SDK 50 beta adds new upstream transformer, causing bundle failure HOT 1
- EXPO RN Cannot display SVG, issue with RNSVGPath
- Expo SDK 50 crashes when apply metro config HOT 2
- Expo SDK 50 - cannot read properties of undefined (reading 'cacheable') HOT 2
- Unexpected import of expo metro config HOT 4
- missing-asset-registry-path HOT 1
- React native svg transformer does not color svg using replaceAttrValues HOT 4
- Expo 50 Solution
- Unable to resolve 'path' in @svgr/core HOT 2
- metro.config.js 配置多个 babelTransformerPath
- Solution to TypeError: Cannot read properties of undefined (reading '0') HOT 1
- Unable to resolve module HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-svg-transformer.