A React component which renders an icon using the GitHub Octicons icon font.
Note: Github Octicons has switched from providing an icon font to being a library for generating SVG markup for string templating engines, so this component uses the last version which provided an icon font, version 4.
As such, the available icons and their appearance may not match with what's on the Github Octicons documentation site.
If you want to use the latest version of GitHub Octicons, try react-octicons or react-icons instead, both of which provide a React component for each icon which renders an SVG.
https://insin.github.io/react-octicon/
Note: Webpack is required in order to use this component.
Install and use the Octicon component like so:
npm install --save react-octicon
import React from 'react'
import {render} from 'react-dom'
import Octicon from 'react-octicon'
let App = () => <div>
<Octicon mega spin name="sync"/>
</div>
render(<App/>, document.querySelector('#app'))
If you use nwb to build and serve the React app you're using this component in, it will automatically configure Webpack to handle CSS, image and font dependencies for you.
This component handles the Octicons CSS dependency for you, but you must use Webpack and configure it to handle CSS and associated font and image files.
For example, using the following webpack loaders:
npm install --save-dev css-loader file-loader style-loader
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(eot|otf|svg|ttf|woff|woff2)$/,
use: 'file-loader'
}
]
}
See Webpack's Loading CSS documentation for more info.
Prop | Description |
---|---|
name |
The name of an icon in the Octicons set, e.g. 'trashcan' |
Prop | Description |
---|---|
className |
An additional class name for the element rendered by the component |
mega |
If true , a double-size icon will be displayed |
spin |
If true , the icon will spin |
Any additional props given, such as event handlers or aria-*
attributes, will be passed to the element rendered by the component.