Emotion
柔軟なAPIを持つCSS-in-JS ライブラリ。オブジェクトまたはテンプレート記法から部品に紐づくスタイルを生成する。
何を担当する?
オブジェクトまたはテンプレート記法から部品に紐づくスタイルを生成する。
いつ使う?
- Reactでテーマや動的スタイルを細かく制御したいとき。
避けたい場面
- ランタイムのスタイル生成を避け、標準CSSを優先するとき。
「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。
Emotionとstyled-componentsはどちらも「CSS設計・生成」の技術なので、同じ土俵で比較しやすい組み合わせです。
柔軟なAPIを持つCSS-in-JS ライブラリ。オブジェクトまたはテンプレート記法から部品に紐づくスタイルを生成する。
オブジェクトまたはテンプレート記法から部品に紐づくスタイルを生成する。
React部品とCSSをJavaScript内で結び付けるCSS-in-JS ライブラリ。propsに応じたスタイルと固有クラスをランタイムで生成する。
propsに応じたスタイルと固有クラスをランタイムで生成する。
styled-componentsとEmotionはスタイルの再利用、局所化、実行時コストで比較される。propsに応じたスタイルと固有クラスをランタイムで生成する。一方、Emotionはオブジェクトまたはテンプレート記法から部品に紐づくスタイルを生成する。