在React Native中从URL显示外部SVG图像

时间:2019-05-20 10:56:16

标签: react-native svg

有没有能让我显示从外部URL加载的SVG图像的软件包?

我尝试使用react-native-svg-image / react-native-svg-uri及其派生工具,但它们均无法正常工作-React-native是否有任何非死包能胜任?

这是svg-img-uri抛出的示例错误

<SvgUri width="24" height="24" source={{ uri: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.3.0/flags/1x1/ad.svg' }} />
Text strings must be rendered within a <Text> component.

This error is located at:
    in RNSVGDefs (at Defs.js:8)

3 个答案:

答案 0 :(得分:2)

react-native-svg 现在支持从在线 uri 显示 svg

import { SvgUri } from 'react-native-svg';

export default () => (
  <SvgUri
    width="100%"
    height="100%"
    uri="http://demo.com/assets/your/image.svg"
  />
);

参考https://github.com/react-native-svg/react-native-svg#use-with-content-loaded-from-uri

答案 1 :(得分:1)

URL周围没有引号。可能是问题所在

<SvgUri 
 width="24" 
 height="24" 
 source={{ uri: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.3.0/flags/1x1/ad.svg'}} />

答案 2 :(得分:0)

Github issue可能会对您有所帮助。

如果仍然无法成功,您仍然可以使用https://www.smooth-code.com/open-source/svgr/playground/将SVG文件转换为React Native组件(不要忘记在左侧面板中切换React-native)