8000 GitHub - chrisgarber/react-svg: :art: A React component that uses SVGInjector to add SVG to the DOM.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

chrisgarber/react-svg

 
 

Repository files navigation

react-svg

build status coverage status npm version npm downloads

A React component that uses SVGInjector to add SVG to the DOM.

Usage

import React from 'react'
import ReactDOM from 'react-dom'
import ReactSVG from 'react-svg'

ReactDOM.render(
  <ReactSVG
    path="atomic.svg"
    onInjected={svg => {
      console.log('onInjected', svg)
    }}
    svgClassName="svg-class-name"
    className="wrapper-class-name"
    onClick={() => {
      console.log('wrapper onClick')
    }}
  />,
  document.querySelector('.Root')
)

There is a working version of the above in the examples/basic dir. First run npm start, then point a browser at localhost:8080/basic.

API

👀 See MIGRATING.md for moving between major versions of this component.

Props

  • path - Path to the SVG.
  • evalScripts - Optional Run any script blocks found in the SVG (always, once, or never). Defaults to never.
  • onInjected - Optional Function to call after the SVG is injected. Receives the injected SVG DOM element as a parameter. Defaults to null.
  • svgClassName - Optional Class name to be added to the injected SVG DOM element. Defaults to null.
  • svgStyle - Optional Inline styles to be added to the injected SVG DOM element. Defaults to {}.

Other non-documented properties are applied to the wrapper element.

Example

<ReactSVG
  path="atomic.svg"
  evalScripts="always"
  onInjected={svg => {
    console.log('onInjected', svg)
  }}
  svgClassName="svg-class-name"
  svgStyle={{ width: 200 }}
  className="wrapper-class-name"
  onClick={() => {
    console.log('wrapper onClick')
  }}
/>

Refer to the SVGInjector configuration docs for more information.

Install

$ npm install react-svg --save

There are also UMD builds available via unpkg:

If you use these, make sure you have already included React and ReactDOMServer as dependencies.

License

MIT

About

🎨 A React component that uses SVGInjector to add SVG to the DOM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%
0