0

我有以下 svg 代码,我想将其转换为 react-native-svg。它是如何正确完成的?

<svg width=200 height=200>
  <defs>
    <marker id="markerArrow1" markerWidth="13" markerHeight="13" refX="2" refY="6" orient="auto">
      <path d="M2,2 L2,11 L10,6 L2,2" />
    </marker>
  </defs>
  <line x1="10" y1="10" x2="100" y2="100" style="stroke:#006600; marker-end: url(#markerArrow1)" />
</svg>
4

2 回答 2

1

react-native-svg 是一个了不起的包,只有几个不同之处。首先,您需要验证您正在使用的所有内容是否受支持。

浏览文档,您会发现大多数东西只是大小写不同。

目前不支持 Marker(查看文档中的 ToDo)。如果你能去就好了。

于 2018-11-19T14:51:31.437 回答
0

您可以使用react-native-remote-svg,这将允许您加载任何 SVG 代码。

import React from 'react';
import Image from 'react-native-remote-svg';

class MyView extends React.Component {
  render() {
    const render =
      "<svg width=200 height=200>" +
     "<defs>" +
     '<marker id="markerArrow1" markerWidth="13" markerHeight="13" refX="2" refY="6" orient="auto">' +
     '<path d="M2,2 L2,11 L10,6 L2,2" />' +
     "</marker>" +
     "</defs>" +
     '<line x1="10" y1="10" x2="100" y2="100" style="stroke:#006600; marker-end: url(#markerArrow1)" />' +
     "</svg>";

    return (
      <Image
        style={{ flex:1 }}
        source={{
           uri: "data:image/svg+xml;utf8," + render
        }}
      />
   );
}

这给了我这张图片:

在此处输入图像描述

于 2018-11-23T19:44:29.887 回答