LoginSignup
1
1

More than 5 years have passed since last update.

picodom de FontAwesome 5

Last updated at Posted at 2018-01-24

以前紹介したように、大幅に進化したFont Awesome 5ですが、picodomと組み合わせてみることにしました(というより、もともと<i class="fa..."></i>でpicodom中に埋め込んでいたアイコンもアップデートの必要が出てきたので考えないといけなくなった、というのが正直なところですが)。

Font Awesome側のデータ形式

JavaScriptライブラリとしてFont Awesomeを使う場合、アイコンのデータは3通りの方法で取得できます(リファレンス)。

  1. HTMLテキスト(.html
  2. DOMノード(.node
  3. 仮想DOM向けのデータ構造(.abstract

この前のRiotではDOMノードを流し込みましたが、せっかく仮想DOMのpicodomで組む以上は、.abstractでどうにかしたいものです。

あれ、なんかなかったっけ…?

ただ、この.abstractのデータ構造は、tagattributeschildrenの3つからなっていること、そしてstyleがベタ書きになっていることなどがあり、そのままpicodom.hに投げるのも難しそうです。

変換コードを書かないといけないのかな…と思っていたところ、公式のReactバインディングがあることに気づきました。picodomにもReactのJSXが流用できるように、React.createElementに渡す引数と同じものをpicodom.hに流せれば、(細かい違いはあるかもしれませんが)picodomのVDOMを生成できることになります。

FortAwesome/react-fontawesomeを調べていくと、仮想DOMの変換関数を発見しました。これを利用すれば、picodomでもFont Awesomeを仮想DOMに組み込むことができます。

実際にアイコンを表示させたjsFiddle

1
1
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
1
1