A tiny library to use emojis in React
react-emojione
A tiny library to use emojis in React.
Features
- Updated to emojione v3.1.2
- Dependency free!
- Can be used as function:
emojify()
or component:<Emojify>
- Converts :shortnames:, unicode and ASCII smileys
- Copy-paste friendly
- Sprite mode (the only supported mode for now)
- Configurable styles and options
- Easy!
Install
npm install --save react-emojione
Development / Run demo
# clone repo
git clone ...
# get dependencies
yarn
# start dev-server
yarn start
Basic usage (function)
import {emojify} from 'react-emojione';
ReactDOM.render(
<div>
{emojify('Easy! :wink: ? :D ^__^')}
</div>,
document.body
);
Basic usage (component)
import Emojify from 'react-emojione';
ReactDOM.render(
<Emojify>
<span>Easy! :wink:</span>
<span>? :D ^__^</span>
</Emojify>,
document.body
);
Advanced usage (function)
import {emojify} from 'react-emojione';
const options = {
convertShortnames: true,
convertUnicode: true,
convertAscii: true,
style: {
backgroundImage: 'url("/path/to/your/emojione.sprites.png")',
height: 32,
margin: 4,
},
// this click handler will be set on every emoji
onClick: event => alert(event.target.title)
};
ReactDOM.render(
<div>
{emojify('Easy! :wink: ? :D ^__^', options)}
</div>,
document.body
);
Advanced usage (component)
Simply pass options as props
import Emojify from 'react-emojione';
ReactDOM.render(
<Emojify style={{height: 32, width: 32}} onClick={e => alert(e.target.title)}>
<span>Easy! :wink:</span>
<span>? :D ^__^</span>
</Emojify>,
document.body
);
Some notes about the <Emojify>
component:
- If it has a single child, it won't be wrapped
- Otherwise it will be wrapped with a
<span>
Output
You can also render to unicode (instead of react elements) using the output
option
import {emojify} from 'react-emojione';
emojify('Easy! :wink: :D ^__^', {output: 'unicode'});
// Easy! ? ? ?