React スタイリング メモ
React スタイリング 手段
手法は大きく2つに分かれていそう
ダイナミックスタイルが必要になるなら、CSS-in-JS。ただしCSS-in-JSはライブラリ等への依存度高い上、CSSをそのまま移植はできない。CSS Modulesで書くCSSは標準技術であり、CSSだけは結合度を低くできるから移植もしやすい。安定を取るならCSS Modules。
手段
- CSS Modules
Vanilla-Extract (CSS Modules)
Styled Component (CSS-in-JS)
emotion (CSS-in-JS):メリットやデメリットはstyled-componentsとほぼ一緒
Material UI (UI ライブラリ)
Chakra UI (UI ライブラリ)
- スタイルを限られたパラメータから選んで指定するアプローチで、UIに一貫性を持たせやすくしたライブラリ
- デフォルトのスタイルに癖がなく、ユーティリティファーストでプロップから簡単にカスタマイズできる。
- emotion を利用している模様 (=CSS-in-JSの特徴に当てはまる?)
- ref: ReactのUIコンポーネントライブラリ「Chakra UI」とは? カスタマイズ性と生産性を両立しよう【前編】
非推奨:
- styleプロップ:パフォーマンスが悪い