Как я могу использовать SVG в React Native?
Я пытаюсь использовать значки начальной загрузки в react native, и я не могу найти никаких полезных методов для рендеринга SVG в react-native. Кто-нибудь знает как?
3 ответа
Чтобы добавить SVG в react native, вы можете использовать response-native-svg
Установить:
пряжа добавить react-native-svg
Пример:
import Svg, {
Circle,
Ellipse,
G,
Text,
TSpan,
TextPath,
Path,
Polygon,
Polyline,
Line,
Rect,
Use,
Image,
Symbol,
Defs,
LinearGradient,
RadialGradient,
Stop,
ClipPath,
Pattern,
Mask,
} from 'react-native-svg';
/* Use this if you are using Expo
import * as Svg from 'react-native-svg';
const { Circle, Rect } = Svg;
*/
import React from 'react';
import { View, StyleSheet } from 'react-native';
export default class SvgExample extends React.Component {
render() {
return (
<View
style={[
StyleSheet.absoluteFill,
{ alignItems: 'center', justifyContent: 'center' },
]}
>
<Svg height="50%" width="50%" viewBox="0 0 100 100">
<Circle
cx="50"
cy="50"
r="45"
stroke="blue"
strokeWidth="2.5"
fill="green"
/>
<Rect
x="15"
y="15"
width="70"
height="70"
stroke="red"
strokeWidth="2"
fill="yellow"
/>
</Svg>
</View>
);
}
}
Или вы хотите импортировать SVG в свое приложение: react-native-svg-transformer
Пример:
import Logo from "./logo.svg";
<Logo width={120} height={40} />
Но если вам нужна библиотека значков, вы можете использовать: react-native-vector-icons
Также здесь находится каталог: каталог React Native Vector Icons.
Рекомендованная посылка
const logo = new URL('logo.svg', import.meta.url);
export function Logo() {return <img src={logo} alt="logo" />}
Я только что нашел простой способ решить эту проблему, который мне подходит.
Я использую Expo и у меня
react-native-svg
установлен. Обратите внимание, что это отличается от импорта
SvgUri
из
react-native-svg-uri
. Это другая библиотека.
import { SvgUri } from "react-native-svg";
<SvgUri
uri="https://example.com/uploads/apple.svg"
width="40%"
height="40%"
/>