LoginSignup
4
4

More than 5 years have passed since last update.

React.js で twemoji を使う

Last updated at Posted at 2014-11-10

この前 Twitter から公開された絵文字ライブラリ twemoji を React.js でレンダリングされる DOM 内で使いたい場合。

var TwemojiedComponent = React.createClass({
    render: function () {
        var text = 'I \u2764\uFE0F emoji!';

        return (
          <span>{text}</span>
        );
    },

    componentDidMount: function () {
        twemoji.parse(this.getDOMNode(), { size: 72 });
    }
});

上記例だと render() 時点で text に対して twemoji.parse() すると JSX に埋め込む際にタグがエスケープされるというありがちな結果になってしまうので、mount 後にやる。

一応他の方法 (dangerouslySetInnerHTML) もあるものの、個人的には上のコードの方が分かりやすいと思う。なんかネーミングも危うさを強調している感じがするし。
http://facebook.github.io/react/docs/jsx-gotchas.html

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4