我如何在 React Native 中使用 SVG?
How can I use SVG in React Native?
我正在尝试在 React Native 中使用 bootstrap 图标,但我找不到任何关于如何在 React-Native 中呈现 SVG 的有用方法。有人知道怎么做吗?
要在 React Native 中添加 SVG,您可以使用 react-native-svg
安装:
yarn add 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
我刚刚找到了一个解决这个问题的简单方法,对我有用。
我正在使用 Expo,并且安装了 react-native-svg
。请注意,这不同于从 react-native-svg-uri
导入 SvgUri
。那是一个不同的图书馆。
import { SvgUri } from "react-native-svg";
<SvgUri
uri="https://example.com/uploads/apple.svg"
width="40%"
height="40%"
/>
我正在尝试在 React Native 中使用 bootstrap 图标,但我找不到任何关于如何在 React-Native 中呈现 SVG 的有用方法。有人知道怎么做吗?
要在 React Native 中添加 SVG,您可以使用 react-native-svg
安装:
yarn add 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
我刚刚找到了一个解决这个问题的简单方法,对我有用。
我正在使用 Expo,并且安装了 react-native-svg
。请注意,这不同于从 react-native-svg-uri
导入 SvgUri
。那是一个不同的图书馆。
import { SvgUri } from "react-native-svg";
<SvgUri
uri="https://example.com/uploads/apple.svg"
width="40%"
height="40%"
/>