Transform SVGs into React components 🦁
Topics
react svg react-native webpack loader webpack-loader svgo inline-svg react-svg react-svg-creator svg2react svg-to-react svg-react react-svg-loader
Readme
Watch the talk at React Europe
SVGR transforms SVG into ready to use components. It is part of create-react-app and makes SVG integration into your React projects easy.
Docs
See the documentation at react-svgr.com for more information about using svgr!
Quicklinks to some of the most-visited pages:
Example
Take an icon.svg:
<?xml version="1.0" encoding="UTF-8"?> <svg width="48px" height="1px" viewBox="0 0 48 1" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch --> <title>Rectangle 5</title> <desc>Created with Sketch.</desc> <defs></defs> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="19-Separator" transform="translate(-129.000000, -156.000000)" fill="#063855" > <g id="Controls/Settings" transform="translate(80.000000, 0.000000)"> <g id="Content" transform="translate(0.000000, 64.000000)"> <g id="Group" transform="translate(24.000000, 56.000000)"> <g id="Group-2"> <rect id="Rectangle-5" x="25" y="36" width="48" height="1"></rect> </g> </g> </g> </g> </g> </g> </svg>
Run SVGR
npx @svgr/cli --icon --replace-attr-values "#063855=currentColor" icon.svg
Output
import * as React from 'react' const SvgComponent = (props) => ( <svg width="1em" height="1em" viewBox="0 0 48 1" {...props}> <path d="M0 0h48v1H0z" fill="currentColor" fillRule="evenodd" /> </svg> ) export default SvgComponent
Supporting SVGR
SVGR is a MIT-licensed open source project. It's an independent project with ongoing development made possible thanks to the support of these awesome backers. If you'd like to join them, please consider:
浙公网安备 33010602011771号