Как использовать SVG-Uri в React-native или Expo?

Я скачал expo-svg-uri модуль, чтобы использовать изображение Svg.

Но изображение не получается.

Код, который я не смог:

  <View style = {styles.container}>
    <SvgUri
      width = "200"
      height = "200"
      source = {require("../../image/minigroup.svg")}
    />
  </View>

Failed Image

Как использовать SVG-Uri в React-native или Expo?

Original Image

Как использовать SVG-Uri в React-native или Expo?

this is my svgfile

<svg xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" width = "80" height = "183" viewBox = "0 0 80 183">
    <defs>
        <circle id = "b" cx = "35" cy = "35" r = "35"/>
        <filter id = "a" width = "142.9%" height = "142.9%" x = "-21.4%" y = "-21.4%" filterUnits = "objectBoundingBox">
            <feOffset in = "SourceAlpha" result = "shadowOffsetOuter1"/>
            <feGaussianBlur in = "shadowOffsetOuter1" result = "shadowBlurOuter1" stdDeviation = "5"/>
            <feColorMatrix in = "shadowBlurOuter1" values = "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
        </filter>
        <circle id = "d" cx = "35" cy = "34" r = "24"/>
        <filter id = "c" width = "168.8%" height = "168.8%" x = "-28.1%" y = "-28.1%" filterUnits = "objectBoundingBox">
            <feOffset dx = "3" dy = "3" in = "SourceAlpha" result = "shadowOffsetOuter1"/>
            <feGaussianBlur in = "shadowOffsetOuter1" result = "shadowBlurOuter1" stdDeviation = "5"/>
            <feColorMatrix in = "shadowBlurOuter1" values = "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
        </filter>
        <circle id = "f" cx = "35" cy = "34" r = "12"/>
        <filter id = "e" width = "208.3%" height = "208.3%" x = "-45.8%" y = "-45.8%" filterUnits = "objectBoundingBox">
            <feOffset dx = "2" dy = "2" in = "SourceAlpha" result = "shadowOffsetOuter1"/>
            <feGaussianBlur in = "shadowOffsetOuter1" result = "shadowBlurOuter1" stdDeviation = "4"/>
            <feColorMatrix in = "shadowBlurOuter1" values = "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
        </filter>
    </defs>
    <g fill = "none" fill-rule = "evenodd">
        <text fill = "#646464" font-family = "Bungee-Regular, Bungee" font-size = "20" letter-spacing = "-.375">
            <tspan x = "6.107" y = "163">Point</tspan>
        </text>
        <text fill = "#3D3D3D" font-family = "Bungee-Regular, Bungee" font-size = "20" letter-spacing = "-.375">
            <tspan x = "20.282" y = "140">Tap</tspan>
        </text>
        <g transform = "translate(5 5)">
            <rect width = "70" height = "81" y = "28" fill = "#FFD90D" rx = "12"/>
            <use fill = "#000" filter = "url(#a)" xlink:href = "#b"/>
            <use fill = "#FFD90D" xlink:href = "#b"/>
            <use fill = "#000" filter = "url(#c)" xlink:href = "#d"/>
            <use fill = "#FFD90D" xlink:href = "#d"/>
            <g>
                <use fill = "#000" filter = "url(#e)" xlink:href = "#f"/>
                <use fill = "#FFD90D" xlink:href = "#f"/>
            </g>
        </g>
    </g>
</svg>

У меня нет значения пути, я только рисую все это. Вы говорите, что это возможно?

Пожалуйста, помогите нам много. Заранее спасибо.

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
2
0
3 336
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первый

  • Перетащите файл svg в этот онлайн-инструмент СВГОМГ.
  • Перейдите на вкладку «Разметка».
  • Скопируйте атрибут d тега path xml.

Второй

react-native-svg уже установлен и связан, если вы используете expo

Пример, который будет отображать значок «Домой»:

<Svg
  width = "20"
  height = "20"
  viewBox = "0 0 512 512" // Has to be the same of the original svg file
>
  <Path
    d = "M208 448V320h96v128h97.6V256H464L256 64 48 256h62.4v192z"
    fill = "red"
  />
</Svg>

Это также сэкономит вам затраты на загрузку и чтение файла ...

Вы говорите, что я должен сам сделать иконку, используя svg?

hong developer 22.05.2019 07:39

Модуль, который вы используете, фактически извлекает путь вашего файла svg и передает его в react-native-svg... это мост... так что все, что вам нужно сделать, это получить путь (d arg) вашей минигруппы. svg и используйте его, как я уже упоминал в примере, и все

Hend El-Sahli 22.05.2019 07:42

Если мне нужно извлечь путь из файла svg и использовать его, как мне его извлечь?

hong developer 22.05.2019 08:11

Используйте онлайн-инструмент, о котором я упоминал в ответе SVGOMG.

Hend El-Sahli 22.05.2019 08:13

@ Хенд Эль-Сахли Глядя на мое изображение, пути нет.

hong developer 22.05.2019 08:40

Перейдите на вкладку «Разметка» >> <svg xmlns = "w3.org/2000/svg" width = "1814.173" height = "1814.173"><path d = "M915.25..></path></svg> >> это содержимое атрибут г тега пути

Hend El-Sahli 22.05.2019 08:42

@ HendEl-Sahli Я загрузил код файла SVG в вопрос. Пожалуйста, посмотрите на это.

hong developer 22.05.2019 09:11

Давайте продолжить обсуждение в чате.

Hend El-Sahli 22.05.2019 09:12

@HendEl-Sahli будет ли это работать со сложными файлами SVG? Я пытался следовать вашим инструкциям выше, но у меня есть несколько значений d arg. Документация по использованию SVG-файлов в expo/react-native кажется довольно скудной — разве это не рекомендуемый подход?

Phobos 11.06.2019 17:54

@Phobos Когда у меня есть файл svg с несколькими аргументами d ... я использую бесплатный инструмент под названием Inkscape для объединения всех путей сливаться в один ... и он отлично работает ... вы также можете отобразить несколько <Path>, если Ты бы хотел

Hend El-Sahli 11.06.2019 22:31

Другие вопросы по теме