Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
react-native-svg
Advanced tools
The react-native-svg package allows React Native developers to render SVG images within their mobile applications. It provides a set of SVG primitives that work in a similar way to the standard React Native components. With react-native-svg, you can create complex shapes, paths, and graphics that are scalable without losing quality, which is essential for responsive design.
Drawing basic shapes
This code sample demonstrates how to draw a basic circle shape with a green fill and a blue stroke.
{"<Svg height=\"100\" width=\"100\"><Circle cx=\"50\" cy=\"50\" r=\"45\" stroke=\"blue\" strokeWidth=\"2.5\" fill=\"green\"/></Svg>"}
Creating paths
This code sample shows how to create a path using the 'Path' component, which allows for more complex shapes and lines.
{"<Svg height=\"100\" width=\"100\"><Path d=\"M40 60 A 10 10 0 0 0 60 60\" fill=\"none\" stroke=\"black\"/></Svg>"}
Applying gradients
This code sample illustrates how to apply a linear gradient to an ellipse shape.
{"<Svg height=\"100\" width=\"100\"><Defs><LinearGradient id=\"grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><Stop offset=\"0%\" stopColor=\"rgb(255,255,0)\" stopOpacity=\"0\" /><Stop offset=\"100%\" stopColor=\"rgb(255,0,0)\" stopOpacity=\"1\" /></LinearGradient></Defs><Ellipse cx=\"50\" cy=\"50\" rx=\"50\" ry=\"20\" fill=\"url(#grad)\"/></Svg>"}
Text rendering
This code sample shows how to render text within an SVG using the 'Text' component.
{"<Svg height=\"100\" width=\"100\"><Text x=\"50\" y=\"50\" textAnchor=\"middle\" fill=\"purple\">SVG Text</Text></Svg>"}
Victory-native is a collection of components for building interactive data visualizations in React Native applications. It is built on top of react-native-svg and provides a higher-level abstraction for creating charts and graphs. While react-native-svg is more about drawing SVG elements, victory-native focuses on data representation and charting.
React-native-canvas provides a 2D drawing context similar to HTML canvas. It is not SVG-based but allows for dynamic graphics and animations. It can be more performant for complex animations but lacks the scalability of SVG.
React-native-art-svg is another library for rendering SVG images in React Native. It is based on the ART library, which is a retained mode vector drawing system. It offers similar functionalities to react-native-svg but has a different API and is less commonly used.
Render SVG images or write your own in-line and animate them, fun!
npm i react-native-svg --save
libxmyl2.2.dylib
to your linked binaries.var Svg = require('react-native-svg'); var Path = Svg.Path
Wave.js and ReactLogo.js for examples!
This chart renders from a source file, but I'm sure that a backend could be made for d3/xkcd to do this for us live
Uses SVGKit to do all of the hard work.
FAQs
SVG library for react-native
The npm package react-native-svg receives a total of 899,087 weekly downloads. As such, react-native-svg popularity was classified as popular.
We found that react-native-svg demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.