A React component for the font-awesome icon library.
npm install --save react-fontawesome
Note: This component does not include any of the Font Awesome CSS or fonts, so you'll need to make sure to include those on your end somehow, either by adding them to your build process or linking to CDN versions.
var React = require('react');
var FontAwesome = require('react-fontawesome');
React.render(<FontAwesome name='rocket' />, document.body);
- No dependencies (other than React)
- Simple API that mirrors Font Awesome's class names.
- Supports all Font Awesome modifiers (see API below).
- Make use of Css Modules
- Add your own
className
s, styles and other props (all additional props are passed directly to the component).
Regular usage
var React = require('react');
var FontAwesome = require('react-fontawesome');
var MyComponent = React.createClass({
render: function () {
return (
<FontAwesome
className='super-crazy-colors'
name='rocket'
size='2x'
spin
style={{ textShadow: '0 1px 0 rgba(0, 0, 0, 0.1)' }}
/>
);
}
});
With the use of CSS Modules
import React from 'react';
import FontAwesome from 'react-fontawesome';
import faStyles from 'font-awesome/css/font-awesome.css';
var MyComponent = React.createClass({
render: function () {
return (
<FontAwesome
className='super-crazy-colors'
name='rocket'
cssModule={faStyles}
size='2x'
spin
style={{ textShadow: '0 1px 0 rgba(0, 0, 0, 0.1)' }}
/>
);
}
});
The above will create output like this:
<span class="font-awesome__fa___2otTb font-awesome__fa-rocket___lfSov font-awesome__super-crazy-colors___3k583"></span>
See the API docs for full documentation.
Pull requests welcome!
Run the test suite with npm test
and format your code with npm run format
. Make sure tests are passing and that you write tests for new features and document changes to the API with updates to the JSDocs.
Before you submit your pull request, run npm run dist
to build the project and commit the changes.